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的变量值及工作目录。