学习写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 | 不输出 |
本文解析shell脚本中【2>&1】的含义,它用于合并标准输出和标准错误,并将其重定向到文件或忽略。理解文件描述符与重定向在执行命令时的作用至关重要。
7243

被折叠的 条评论
为什么被折叠?



