【发布时间】:2021-02-15 01:37:41
【问题描述】:
我有一个脚本,用于通过 wp-cli 在 wordpress 网站上设置几个默认小部件。
脚本小部件.sh:
read -r -d '' TEXT << EOM
<strong>Line1</strong>
Address
Phone: 555-x
E-mail: so@you.say
EOM
sudo --user=$USRNAME -s wp widget add text footer-1 999 --title="Widget1" --filter="true" --visual="true" --text="$TEXT"
问题:
我的问题在于,当我调用带有这些命令的 shell 脚本时,例如通过运行
bash ~/widgets.sh
一旦发送到 wp-cli 的变量 $TEXT 将删除其换行符。 如果我添加
echo "$TEXT"
到脚本文件,它用正确保留的换行符来回显它,这只会增加我的困惑。
如果我将命令复制并粘贴到我的终端中,它会正确保留 HEREDOC 中的换行符。
我不明白为什么,但是关于shell脚本和bash,我有很多不明白的地方,所以我希望有人能启发我:)
提前致谢!
【问题讨论】:
-
如果句子短一点会很有帮助。并省略:“我的问题是”。用于例如“问题:”、“预期:”、“结果:”
-
感谢@SL5net 的提醒 - 我会尽量简洁!
标签: bash line-breaks heredoc wp-cli