1、首先,bash中0,1,2三个数字分别代表STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO,即标准输入(一般是键盘),标准输出(一般是显示屏,准确的说是用户终端控制台),标准错误(出错信息输出)。
0 | 1 | 2 |
---|---|---|
标准输入 | 标准输出 | 标准错误 |
2、输入输出可以重定向,所谓重定向输入就是在命令中指定具体的输入来源,譬如 cat < test.c 将test.c重定向为cat命令的输入源。
输出重定向是指定具体的输出目标以替换默认的标准输出,譬如ls > 1.txt将ls的结果从标准输出重定向为1.txt文本。有时候会看到如 ls >> 1.txt这类的写法。 > 和 >> 的区别在于:> 用于新建而>>用于追加。
3.到了此时,你应该也能猜到2>&1&的用意了。不错,2>&1就是用来将标准错误2重定向到标准输出1中的。此处1前面的&就是为了让bash将1解释成标准输出而不是文件1。至于最后一个&,则是让bash在后台执行。
标准错误重定向到标准输出并且在后台执行。
标签:解释,重定向,输出,标准,ls,详细,txt,bash From: https://www.cnblogs.com/geoffrey-peng/p/17058579.html