前言

在shell里执行程序时,在最后加上&可以使程序在后台运行,不占用当前屏幕。

单独执行一条命令时,在最后加上&即可。

但当我们想同时开启多个后台的时候,也许你的想法如此:

for file in * ; do
    echo $file &;
done

如果是这样,恭喜你,想法跟我一样,是错的。

正解

正确做法是,把每条命令都用花括号括起来,再在后面加上&。(注意命令前面要加空格)

for file in * ; do
    { echo $file; } &
done