我有一个包含以下内容的文本文件:
Hello \"${USER}\"!
Today you drank ${COFFEE_COUNT} coffees.
See you tomorrow!
现在我运行了一个 bash 脚本,其中分配了(和导出)这些字符串。但是,当该脚本回显此文件时,它不会替换字符串。
... code ...
export COFFEE_COUNT="$(some code)" #${USER} is set by default
... code ...
t=$(wc -l < ${scriptdir}/COFFEE);
for ((l=1;l<t;l++));
do
echo $(sed -n "${l}{p;q;}" < ${scriptdir}/COFFEE);
done;
... code ...
猫也不行
cat "${scriptdir}/COFFEE";
有没有办法使这项工作?
所需输出:
Hello "username"!
Today you drank 3 coffees.
See you tomorrow!
bash 仅扩展其代码中的变量,而不扩展变量(或其他扩展)数据中的变量。Si 代替
你需要
当 here-doc 可以完成这项工作时,为什么还要使用附加文件:
执行时: