复合命令
时间:2019-04-16 23:59:05 来源:igfitidea点击:
复合命令是以下语法格式之一:
( list ) ( command1; command2 ) { command1; command2 }
为什么使用( command1; command2 ) 语法
在下面的例子中,我们运行了多个命令:
hostname ; date ; who | wc -l
将结果保存到文件中
hostname ; date ; who | wc -l > /tmp/output.txt cat /tmp/output.txt
所有命令都运行了,但只有管道的最后一个输出保存到了文件中。
要将所有命令的输出都保存到文件中,需要像下面这样:
( hostname ; date ; who | wc -l ) > /tmp/output.txt cat /tmp/output.txt
所有在**括号()**中的命令都将在 子shell中运行。
为什么要使用{ command1; command2; }语法
这种语法允许您在当前shell环境中运行所有命令。
就像一个组命令一样运行:
[ $# -eq 0 ] && { echo "Usage: ##代码## filename"; exit 1; }