要重複一遍又一遍線路,您可以:
yes "abc" | for i in {1..3}; do read -N 10 A; echo "for $i: $A"; done
是將輸出「永遠」,但後來因爲我在1..3將只執行了「不...做;」 part 3 times
是在字符串後面加一個「\ n」。如果你不想要的話,做的事:
yes "abc" | tr -d '\n' | for i in {1..3}; do read -N 10 A; echo "for $i: $A"; done
在上述所有的,請注意,讀是管後,在bash這將是一個子shell,所以「$ A」將只適用於「做......完成」;區域,並在之後失去!從文件中讀取
要循環和,也沒有這樣做,在一個子shell:
for i in {1..3}; do read -N 10 A ; echo "for $i: $A"; done <$(cat /the/file)
可以肯定的存在/的/文件足夠的數據,重複隨意:
for i in {1..3}; do read -N 10 A ; echo "for $i: $A"; done <$(cat /the/file /the/file /the/file)
要測試最新的:echo -n「abc」>/the/file(-n,所以沒有訓練換行符)
它掛起,因爲你只要求它做3次(1..3)a在/tmp/a.txt的輸出上讀「-N 10 A」。 你想做什麼? –
'cat file file file file ...> newfile'將複製文件內容。以及如果你需要複製文件1m次,貓不會工作。你到底在做什麼? – Kent
while循環和for循環都是管道,所以while的輸出傳遞給for。由於for循環退出3次迭代後,我假設while循環應該得到像SIGPIPE和退出。但事實並非如此。輸出來了,然後它掛在那裏。 – binit