3.2 Shell命令(Shell Command)

待完善

3.2.1 简单命令(Simple Command)


由blanks分隔,由control operators结尾的word序列。

3.2.2 管道(Pipeline)


定义

Pipeline指一个由 ‘|’ 或 ‘|&’ 分隔的命令序列。

例子

c1 | c2: c1's stdout => c2's stdin
c1 |& c2 <=> c1 2>&1 | c2: c1's stdout and c1's stderr => c2's stdin

3.2.3 列表(List)


定义

List指一个包含一个或多个Pipeline的,由‘;’, ‘&’, ‘&&’, ‘||’分隔的,由‘;’, ‘&’, ‘\n’ 结尾的序列。

特性

‘;’: 由‘;’分隔的命令顺序执行。
‘&’: 由‘&’分隔的命令将在子shell中执行,即在后台执行。

类别
  • and list: command1 && command2, 当且仅的command1的退出码为0时command2才执行。
  • or list: command1 || command2, 当且仅当command1的退出码为非0时command2才执行。
返回状态

List的返回状态是该list中最后一个命令的退出码。

3.2.4 复合命令(Compound Command)


你可能感兴趣的:(3.2 Shell命令(Shell Command))