2012-09-18 51 views

回答

3

不要管他們。

而是執行此操作:

cat output.txt ; rm output.txt 
grep -c 'ps' count.tmp ; rm count.tmp 

編輯:管道(|)需要一個命令的標準輸出,並運行它進入另一個標準輸入...是這樣的:

# Get the number of lines 
cat output.txt | wc -l 

or 

echo "Hello there" | tr -d' ' 

要加入命令,請使用;&&

;將運行命令一個壓腳提升其他

echo Hi ; false; echo there 

&&才能運行該命令中的零個狀態代碼(成功)退出下一個命令。

echo Hi && false && echo there 
0

管道輸送命令can be run in any order,所以不能保證rm命令將不會被首先運行。使用

cat output.txt && rm output.txt 

如果cat命令成功,這將只刪除該文件。

+1

對於來自Windows/DOS背景的人來說,這是一個重要的區別,管道命令* do *按順序運行,在臨時文件中傳遞stdio。 –

相關問題