我在我的Centos5服务器上运行了这个:
ls -al & ; ls -al
我本来希望它后台运行 ls -al
,同时前台并发运行ls -al
,以演示这样做会使终端输出变得混乱。
然而,我却得到了:
-bash: syntax error near unexpected token `;'
我该如何在同一行上编写这两个命令?
出乎意料的是, &
同时也是一个命令分隔符和一个分叉器。这意味着您实际上有三个命令:
ls -al & ; ls -al
# ^^^^^^^|^|^^^^^^^
... 而 Bash 不支持空语句。
相反,只需写:
ls -al & ls -al
没有分号。
ls -al & : ; ls -al
。表情符号很好。 - devnull