[英]Bad substitution Bash: how to write a heredoc to a dynamically created file (variable)?
[英]How to save a file using heredoc syntax but preserve the actual variable output?
猫测试.sh
#! /usr/bin/env bash
#some other commands
#some other commands
loc="$(which chromium-browser)"
cat > loc.txt <<'endmsg'
location = '$loc'
endmsg
我简化了我的脚本以正确解释我的问题。 我正在尝试使用heredoc将变量的output保存在另一个文件中。但似乎heredoc只是保存了endmsg标签内的原始文本
目前
猫定位.txt
location = '$loc'
由于“哪个铬浏览器”实际上是 - /usr/bin/chromium-browser
期待
猫定位.txt
location = /usr/bin/chromium-browser
有什么方法可以将实际变量 output 保存在另一个文件中,而不是从字面上保存原始文本。 很好,它的答案不使用heredoc来实现这一点,尽管最好不要因为做这么简单的事情而变得复杂。
只需删除单引号:
#! /usr/bin/env bash
#some other commands
#some other commands
loc="$(which chromium-browser)"
cat > loc.txt << endmsg
location = $loc
endmsg
会正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.