学习写shell脚本的时候,经常会在行尾看到 【2>&1】 这个结束符,但是这个结束符是什么含义呢?
Command 的两种输出:标准输出 和 标准Error输出以 echo 命令为例说明:
$echo "Hello" Hello
Hello 就是 标准输出。
然后,以不存在的命令 aaa 为例:
$aaa "Hello" -bash: aaa: command not found
输出了 aaa: command not found ,这就是标准Error输出
上面的 "标准输出" 和 "标准错误输出" 分别被赋予了数字 "1" 和 "2",这些数字被称为 文件描述符
| Command > file | 将Command执行结果写入file里(覆盖写) |
| Command >> file | 将Command标准输出写入file里(追加写) |
| Command 2> file | 将标准错误输出写入file里(覆盖写) |
| Command 2>> file | 将Error msg 写入 file 里(追加写) |
| Command > file 2>&1 | 将标准输出和错误输出都写到 file 里(覆盖写) |
| Command >> file 2>&1 | 将标准输出和错误输出都写到 file 里(追加写) |
| Command &> file | 将标准输出和错误输出写到一个文件里 |
| Command > /dev/null 2>&1 | 不输出 |



