方案如下
我在/ home / raveen中创建了一个文件test.txt,其中包含以下内容
FRUITS = apple guava banana
VEGETABLES = turnip onion spinach
我编写了一个脚本test.sh,内容如下
echo "FLOWERS = dahlia rose jasmine" >> /home/raveen/test.txt
执行此“bash”脚本后,文件被截断,只有内容
FLOWERS = dahlia rose jasmine
出现文件test.txt
有谁知道这个的原因?有没有人见过这样的问题?
答案 0 :(得分: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
,因为像sed 's/a/e/g' test.txt > test.txt
这样的东西不起作用,因为bash在执行命令之前打开test.txt,所以你最终得到一个空文件,而{{1会工作得很好。您也可以使用sed 's/a/e/g' test.txt | tee -a >/dev/null test.txt
来静音T恤,我个人使用>/dev/null
。