【发布时间】:2021-03-08 17:03:52
【问题描述】:
在我的 bash 脚本中,我有这个:
myapphome=/home/username/Documents/myapp
cat << 'EOT' > "$myapphome"/some.properties
dir.root="$myapphome"/app_data
EOT
在 some.properties 中预期:
dir.root=/home/username/Documents/myapp/app_data
但实际上是:
dir.root="$myapphome"/app_data
我在这里做错了什么?我的意思是我想在我的 some.properties 文件中扩展 $myapphome。
【问题讨论】:
-
这其实和
cat无关;相关的是 shell 对 here 文档的处理。此处文档附加到哪个流程,所涉及的问题都是一样的。 -
是的。现在我明白为什么 shell 脚本被称为丑陋而强大的脚本语言了。大声笑
标签: bash variables string-interpolation heredoc