核心概念shell-scripting
Shell 输入输出重定向
理解标准输入、标准输出和标准错误的重定向顺序,安全选择覆盖、追加与错误合并。
**重定向(redirection)**由 Shell 在命令执行前设置,用于改变标准输入、标准输出或标准错误的来源与去向。
| 写法 | 作用 |
|---|---|
> file |
将标准输出写入文件;已有内容会先被截断。 |
>> file |
将标准输出追加到文件末尾。 |
2> file |
将标准错误写入文件。 |
2>&1 |
让标准错误指向标准输出当前的目标。 |
OUTPUT="$HOME/redirection-demo.txt"printf '%s\n' 'first line' > "$OUTPUT"printf '%s\n' 'second line' >> "$OUTPUT"cat -n -- "$OUTPUT"预期得到两行内容。第一次使用 >,第二次使用 >>。
把一组命令的两类输出写入同一日志:
{ date uname -srmo} >> "$HOME/system-check.log" 2>&1重定向从左到右处理:
>file 2>&1:标准输出和标准错误都进入file。2>&1 >file:标准错误先复制原来的标准输出目标,通常不会进入file。
> 会清空已有文件。覆盖前先确认路径;需要保留历史记录时使用 >>,并设置日志轮换或清理策略。