bash中 2>&1 & 的解释
*/2 * * * * cd workspace; python run.py > log/run.py.log 2>&1
1、bash中0,1,2三个数字分别代表:
- 0 STDIN_FILENO 标准输入(一般是键盘)
- 1 STDOUT_FILENO 标准输出(一般是用户终端控制台)
- 2 STDERR_FILENO 标准错误(出错信息输出)
2、输入输出重定向,
- 重定向输入:在命令中指定具体的输入来源,譬如 cat < test.c
- 输出重定向:指定具体的输出目标以替换默认的标准输出,譬如ls > 1.txt
3、> 和 >> 的区别:
- > 用于新建
- >> 用于追加
4、2>&1 就是用来将标准错误2重定向到标准输出1中的
- 1前面的&就是为了让bash将1解释成标准输出而不是文件1
- 最后一个&,则是让bash在后台执行