不熟悉 io 重定向的童鞋,先學習一下相關知識 http://www.linuxplus.org/kb/io-redirection.html
下面是簡單程式碼
#!/bin/bash tmpfile='fifo' mkfifo $tmpfile #建立一個先進先出佇列 exec 6<>$tmpfile #使用檔案描述符6關聯$tmpfile for((i=0;i<5;i++));do #初始化 你想併發幾個就迴圈幾次, echo >&6 就是往佇列裡放5個空值,讓後面的 read -u 6 可以一次讀取一行 echo >&6 done for i in {1..100};do # 這裡只是舉例列印100個數,你也可以讀取一個大檔案 read -u 6 # 能讀出來就繼續下面的任務,沒有東西可讀就掛起在這裡,等待後面的 echo >&6 往裡再放一個空行 { echo $i # 你實際要執行的命令 sleep 3 # 為了讓你看到效果,可刪除這條命令 echo >&6 # 補充一個空行,讓 read 可以繼續往下執行 }& # 把你的任務放後臺才能併發 done exec 6>&- # 關閉檔案描述符6 rm -f $tmpfile