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
! { } 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