Bash

來自 Bash 的“模糊重定向”錯誤

  • May 19, 2018

我有三個目錄 a、b、c,每個目錄都有一個名為old.txt的文件

我想將文件new.txt的內容複製到每個文件中。我的方法是

$ cat < new.txt > {a,b,c}/old.txt

但我越來越

bash: {a,b,c}/old.txt: ambiguous redirect

為什麼?如何在單個命令中使用 Cat 和 Brace 擴展來完成?

Bash 不能重定向到多個目標,因為拆分輸出需要一個中間程序來讀取命令並寫入所有目標。(不過,Zsh 對此有內置支持。)

您可以使用該tee實用程序來執行此操作:

tee {a,b,c}/old.txt  < new.txt > /dev/null

引用自:https://unix.stackexchange.com/questions/444848