Bash Brace Shell 扩展失败

Bash Brace Shell 扩展失败

我有 5 个文件,名为file1, file2, file3, file4, file5.我正在尝试运行以下命令echo "contents" >> file{1,2,3,4,5}。当我运行此命令时出现以下错误;-bash: file{1,2,3,4,5}: ambiguous redirect。我的目标是回显一些文本以在一个命令中复制文件。我怎样才能实现这个目标?提前致谢。

答案1

您无法重定向到多个文件。相反,请使用tee -a-a“append”,因为在您的问题中您使用附加重定向运算符>>):

echo "contents" | tee -a file{1,2,3,4,5}

另一种选择是使用 zsh 而不是 bash,它可以重定向到多个文件:

[birdsnest ~]% echo foo > /tmp/{foo,bar}
[birdsnest ~]% cat /tmp/foo 
foo
[birdsnest ~]% cat /tmp/bar 
foo

相关内容