-1

有些文件与我想使用 bash 脚本执行环境变量替换的模式匹配。但是我似乎无法让它工作。

我有点困惑为什么这会导致所有目标文件都是空的:

for file in /path/to/files/*.yml; do
  envsubst '${VAR1}' < "$file" > "$file"
done
4

1 回答 1

0

事实证明envsubst无法处理相同的源和目标。所以新文件必须写在别处,然后把原来的替换掉。

for file in /path/to/files/*.yml; do
  envsubst '${VAR1}' < $file > "$file.modified"
  rm $file
  mv $file.modified $file
done
于 2021-10-05T16:33:27.570 回答