subShell 是一群被括在圆括号里的命令,这些命令会在另外的进程里执行。当你需要让一组命令在不同的目录下执行时,这种方法可以让你不修改主脚本的目录。
例; 将某个目录树通过管道复制到另外一个地方。
tar -cf - . | (cd /newdir; tar -xpf - )
代码块概念上与subShell相同,但是它不会建立新的进程。代码块里的命令用花括号{}括起来,且对主脚本的状态会产生影响。
原文:http://www.cnblogs.com/fly-xiang-zhao/p/3675642.html