1.{ }形式
{ echo "User report for `date`.";who;} | pr
应该注意的:左括号“{”后面应有一个空格;右括号“}”之前应有一个分号 (;)。
花括号也可以包含若干单独占一行的命令:
{ echo "User report for `date`."
echo "There are `who|wc -l` users logged in."
who|sort;} | pr
花括号中的命令表必须用分号或者换行符终止。
2.( )形式
(echo "User report for `date`.";who) | pr
如上所示,在用圆括号括起成组命令时,左括号后不必有空格,右括号之前也不需加上分号。
两者的区别:用花括号括起来的成组命令只是在本shell内执行命令表,不产生新的进程;而用圆括号括起来的成组命令式在新的子shell内执行,要建立新的子进程,不会改变父shell的变量值及工作目录。
转载于:https://blog.51cto.com/anne50/783263
本文详细解释了在Shell脚本中如何使用花括号和圆括号来组织命令,并指出它们之间的主要区别。重点讨论了在执行命令时的不同行为,包括是否创建新的进程以及如何影响变量值和工作目录。
1080

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



