1

我手头没有 linux,而是使用 compileonline.com 来检查 bash 中的一些代码,但我是 bash 新手。有人可以帮忙吗?

for var
do echo $var > fniz
  cat fniz
done

参数是 123 abc xyz

我的猜测是,输出将是:

123
123
abc
123
abc
xyz

但我不确定 echo $var > fniz 是否覆盖 fniz 或写入新行。它会覆盖文件吗?

4

2 回答 2

4

>总是覆盖。

通过使用“追加”重定向操作符可以编写一个新行>>

于 2013-08-30T19:07:34.460 回答
2

每次都会覆盖文件

$ cat script.sh 
for var in 123 abv xyz
do
    echo $var > fniz
    cat fniz
done
$ ./script.sh 
123
abv
xyz

如果要追加,请使用>>

于 2013-08-30T19:08:08.363 回答