14_Shell重定向输入输出
输出重定向:一般情况,输出是在终端直接显示,改变输出位置,改变到文件中,这就是输出重定向
输入重定向:一般情况,输入是读取用户终端输入,改变输入位置,从文件中获取输入内容,这就是输入重定向
一、输出重定向
命令 | 说明 | 示例 |
---|---|---|
命令 > file | 正确结果重定向到文件,覆盖方式 | echo "Hello World!" > log.txt |
命令 >> file | 正确结果重定向到文件,追加方式 | echo "Hello World!" >> log.txt |
命令 1> file | 命令 1>> file | 正确结果重定向到文件 | echo "Hello World!" 1> log.txt |
命令 2> file | 命令 2>> file | 错误结果重定向到文件 | xxxx "hello holen" 2> log.txt |
命令 > file 2>&1 | 命令 >> file 2>&1 | 正确和错误结果都重定向到文件 | echo "Hello World!" > log.txt 2>&1 |
命令 > fileA 2> fileB | 命令 >> fileA 2>> fileB | 正确重定向到文件A,,误结果都重定向到文件B | echo "Hello World" > logA.txt 2> logB.txt |
>
代表覆盖操作
>>
代表追加操作
1
代表标准输出(STDOUT)
2
代表标准错误输出(STDERR)
二、输入重定向
不过多讨论,记住一个示例:
2.1、实例:从文件读取数据
shell
#!/bin/bash
let rowNum=1
while read content
do
echo "第${rowNum}行:${content}"
let rowNum++
done < log.txt