首先來看這個腳本:
touch test.txt
touch loc
echo "result1" > loc
loc >> test.txt
echo "result2" > loc
loc >> test.txt
rm loc
我創建兩個文件。其中之一loc
是臨時的,我嘗試寫入它,但收到以下錯誤訊息:
5: script.sh: loc: not found
8: script.sh: loc: not found
我怎樣才能讓它發揮作用?
答案1
loc
不是命令。您需要使用cat loc >> test.txt
將其附加到text.txt。否則你也可以完全避免臨時檔案:
echo "result1" >> test.txt
echo "result2" >> test.txt
注意,touch test.txt
好像也沒用。
答案2
這將創建 test.txt
echo "result1" | tee -a test.txt
echo "result2" | tee -a test.txt
或一步使用它
echo "result1" && echo "result2" | tee -a test.txt
答案3
重定向運算子期望將字串或字元流作為輸入端,並在另一端輸入檔案。因此,您需要使用cat
命令首先讀取文件,然後將流字元重新導向到輸出文件。
touch test.txt
touch loc
echo "result1" > loc
cat loc >> test.txt
echo "result2" > loc
cat loc >> test.txt
rm loc