sh pipeline

sh的保留字如下:
           !        {        }        case      do
           done     elif     else     esac      fi
           for      if       then     until     while

原来{ 和 }都是保留字,这样我真正明白它们前后必须有空格的原因。

Pipelines

     Note that unlike some other shells, sh executes each process in the pipe-
     line as a child of the sh process.  Shell built-in commands are the
     exception to this rule.  They are executed in the current shell, although
     they do not affect its environment when used in pipelines.

Pipelines中的每个命令(内部命令除外)都在一个单独的进程中运行,即便是内部命令
不在新进程运行,它也不会影响当前进程的环境。

这样,运行下面的程序需要特别留意这一点了:

a | b | { ...; ...; }

最后一个大括号中定义的变量,在括号外边是未定义的,这一点如果不注意
会比较困惑。呵呵。sh pipeline

猜你喜欢

转载自boisterous.iteye.com/blog/1080823
.sh
SH