exec bundle exec thin -p $PORT -e ${RACK_ENV:-development} start 2>&1
这就是我在script/web
中所拥有的。有人可以解释单独的部分吗?
此脚本试图借助bundler
启动thin
。在这里,任何具有$的东西都是来自命令行的用户参数。端口和RACK_ENV
由命令定义。RACK_ENV
具有开发环境的默认值,这意味着如果没有提供环境,则使用开发环境
,就2>&1
而言,1
是Stdout。 2
是stderr。
这是记住这种构造的一种方法(Altough并非完全准确):首先,2>1
看起来像是将STDERR重定向到STDOUT的好方法。但是,它实际上将被解释为"将stderr重定向到名为1的文件"。&表示下面的是文件描述符,而不是文件名。因此构造变为:2>&1.