为什么“echo 123 > a.txt b.txt”只会创建一个文件?

问题描述 投票:0回答:1

当我执行

echo 123 > a.txt b.txt
时,我认为结果
123
会被写入两个文件
a.txt
b.txt
,但真正的结果是只创建了一个文件。内容
123 b.txt
被写入名为
a.txt
的文件中。为什么?

我不知道为什么会这样,谷歌时我没有找到答案。

linux shell unix echo io-redirection
1个回答
0
投票

我认为在执行命令 echo 123>a.txt b.txt 时,它会尝试将输出 123 写入文件 a.txt 和 b.txt。但是,在大多数操作系统中,不支持此语法,这意味着它仅将输出写入第一个文件 a.txt,而忽略第二个文件 b。 txt.

该命令相当于echo 123>a.txt。如果要将相同的内容写入多个文件,则需要分别执行命令写入不同的文件,如:

回声123>a.txt

回声123>b.txt

如果要将相同的输入追加到多个文件中,可以使用 tee 命令,例如:

回声123 |三通 a.txt b.txt

© www.soinside.com 2019 - 2024. All rights reserved.