bash 中的命令没有被解释?

bash 中的命令没有被解释?

我正在尝试在 bash 脚本中执行命令,$(密码)根本没有被解释,甚至没有使用 eval。

这不起作用:

cat apache-vhost.conf | sed 's/{path}/$(pwd)/g'

这也不:

eval cat apache-vhost.conf | sed 's/{path}/$(pwd)/g'

如何解决这个问题?

答案1

您在表达式中使用单引号sed,这会阻止变量扩展。使用双引号。此外,使用与以下不同的分隔符/

sed "s|{path}|$(pwd)|g" apache-vhost.conf

而且,cat file | sed是无用的使用cat

相关内容