Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
入口shell脚本(从前端和后端开始)应该有什么名称?_Shell_Naming Conventions - Fatal编程技术网

入口shell脚本(从前端和后端开始)应该有什么名称?

入口shell脚本(从前端和后端开始)应该有什么名称?,shell,naming-conventions,Shell,Naming Conventions,我想知道是否有任何关于输入shell脚本名称的约定。我指的是一个shell脚本,应该运行它来启动程序(前端和后端)。大多数开发人员都知道README.md的名称吗?提前谢谢你 我不知道有什么普遍的习俗。可能在某些上下文中使用main,但这并不能说明脚本的功能。然而,我自己的约定是让入口点源代码文件使用小写名称,而非入口点源文件使用PascalCase编写。同样对于由多个文件组成的程序foo,我的约定是创建一个名为foo的目录,并在该目录中创建一个名为foo的入口点文件。如果这是我最喜欢的项目,我

我想知道是否有任何关于输入shell脚本名称的约定。我指的是一个shell脚本,应该运行它来启动程序(前端和后端)。大多数开发人员都知道README.md的名称吗?提前谢谢你

我不知道有什么普遍的习俗。可能在某些上下文中使用main,但这并不能说明脚本的功能。然而,我自己的约定是让入口点源代码文件使用小写名称,而非入口点源文件使用PascalCase编写。同样对于由多个文件组成的程序foo,我的约定是创建一个名为foo的目录,并在该目录中创建一个名为foo的入口点文件。

如果这是我最喜欢的项目,我会称之为
start.sh

但是对于企业项目,通常会有一些CI机制来启动项目

例如,如果您正在使用Docker,您的脚本将存在于Dockerfile中,CI只知道它应该使用Dockerfile,或者您必须使用一些配置来指示它

例如,在Heroku上,有一个函数指定应用程序启动时执行的命令

每个CI都是不同的,因此不应该只依赖CI脚本,而期望其他开发人员了解它们。因此,如果我正在处理基于NodeJS的项目,我将将启动命令放入
package.json
's
scripts
节中,并将其命名为
start
。因为这是NodeJS世界中众所周知的约定,所以运行
npm start

例如,我可以将完整命令放在
package.json

{
  "scripts": {
    "start": "./node_modules/vader-sentiment-cpython/install_vader.sh && ts-node api.ts"
  }
}

然后在我的Heroku Procfile中,我将只引用
npm start
,如下所示:

web: npm start

另一个好处是,因为
npm start
是一个约定,如果我根本不添加Procfile,Heroku将尝试使用它。

感谢您八月提供的详细答案!谢谢Maxim的详细回答!