time for i in `ls /tmp/chunk*`; do (cat $i | tr ' ' '\n' | sort | uniq > /tmp/line${i:10}) & ;done
bash: syntax error near unexpected token `;'
上述命令中的語法錯誤是什麼?我也嘗試使用{}
,並用;
結束了管道命令。但同樣的錯誤顯示出來...使用&符號在後臺運行bash管道命令
time for i in `ls /tmp/chunk*`; do (cat $i | tr ' ' '\n' | sort | uniq > /tmp/line${i:10}) & ;done
bash: syntax error near unexpected token `;'
上述命令中的語法錯誤是什麼?我也嘗試使用{}
,並用;
結束了管道命令。但同樣的錯誤顯示出來...使用&符號在後臺運行bash管道命令
&是一個分離器,所以是冗餘的; I.E.刪除最後的;
for i in /tmp/chunk*; do tr ' ' '\n' <$i | sort -u > /tmp/line${i:10}& done
+1用於消除無用的貓和'sort -u' – exic
下面的答案之間的區別是,'{}'在當前外殼上下文中執行。 '()'創建一個新的子shell,所以你不保留變量賦值。 – Tathagata