我在AIX ksh的,看起來像這樣運行的腳本:何時使用輸出重定向創建文件?
wc dir1/* dir2/* | {awk command to rearrange output} | {grep command to filter more} > dir2/output.txt
這是一個前提,這個行DIR2/output.txt中不存在。
問題是,dir2/output.txt已經包含在輸出中(它發生了幾百次而沒有問題)。 dir1和dir2是NFS掛載的。
是否與wc
的實施有關 - 如果第一個參數需要很長時間會怎樣?我想不是,因爲我試過以下內容:
wc `sleep 5` *.txt > out.txt
即使在這種情況下,out.txt也不會自行列出。
作爲最後一個說明,在本示例中使用了通配符,它們在實際腳本中使用。所以如果擴展首先發生,爲什麼會出現這個問題?
dir2/output.txt實際創建的是什麼點?
我一直認爲,如果一個子進程在等待輸入,它將無法創建任何輸出。 我認爲這清除了我有很多不正確的假設,都在一個鏡頭。 – Stephen 2012-04-25 13:43:50