在Shell程序中保存输出结果有多种方法,以下是一些常用的方法:
使用反引号(``)或$()
这两种方法都可以将命令的输出保存到变量中。
反引号(``):
```bash
output=`ls -l`
echo $output
```
$():
```bash
output=$(ls -l)
echo $output
```
建议使用$()方式,因为它更灵活,可以嵌套使用,并且可以保存命令的输出到数组中。
重定向输出到文件
可以使用重定向操作符将命令的输出保存到文件中。
将标准输出保存到文件:
```bash
ls -l > output.txt
```
将标准错误保存到文件:
```bash
command 2> error.txt
```
将标准输出和标准错误都保存到文件:
```bash
command > output.txt 2>&1
```
使用命令替换
可以在Shell脚本中使用命令替换来保存命令的输出。
保存到变量:
```bash
variable=$(command)
```
保存到文件:
```bash
command > output.txt
```
使用脚本文件
将命令序列写入一个脚本文件中,然后通过执行该脚本来保存命令的输出。
创建脚本文件并写入命令:
```bash
echo '!/bin/sh' > script.sh
echo 'command1' >> script.sh
echo 'command2' >> script.sh
echo 'command3' >> script.sh
```
赋予脚本执行权限并执行:
```bash
chmod +x script.sh
./script.sh
```
使用Here Document
Here Document是一种特殊的输入重定向方式,可以将一系列命令输入到一个脚本文件中。
```bash
cat > example.sh << EOF
!/bin/sh
command1
command2
command3
EOF
```
通过以上方法,可以根据需要选择合适的方式来保存Shell程序的输出结果。