2010-11-15 26 views
1

的情況如下bash腳本截斷在CentOS 5.5的文件

我創建了一個文件test.txt在/ home/raveen與內容如下

FRUITS = apple guava banana 
VEGETABLES = turnip onion spinach 

我寫一個腳本test.sh與下面

echo "FLOWERS = dahlia rose jasmine" >> /home/raveen/test.txt 

內容執行該「慶典」的腳本文件被截斷後,只有內容

FLOWERS = dahlia rose jasmine 

出現文件test.txt

有沒有人知道這個的原因?有沒有人見過這樣的問題?

+3

請問,你可以發佈你的bash代碼嗎? – Simone 2010-11-15 10:18:35

+0

這是您在1中創建的文件沒有完全命名爲「test.txt」或者不完全在/ home/raveen中時會得到的行爲。 – 2010-11-15 10:19:08

+1

重新檢查和100%確保是''' – ajreal 2010-11-15 10:33:23

回答

0

我不知道你的代碼,但我可以保證以下工作。

cat | tee /home/raveen/test.txt <<EOF 
FRUITS = apple guava banana 
VEGETABLES = turnip onion spinach 
EOF 

echo 'FLOWERS = dahlia rose jasmine' | tee -a /home/raveen/test.txt 

我更喜歡使用tee,因爲是這樣的:因爲bash中打開的test.txt執行該命令之前,所以你最終會得到一個空文件,而sed 's/a/e/g' test.txt | tee -a >/dev/null test.txt將做工精細sed 's/a/e/g' test.txt > test.txt是行不通的。您也可以使用>/dev/null使T恤變得安靜,我個人使用alias stee="tee >/dev/null"