我想将一个字符串回显到 /etc/hosts 文件中。该字符串存储在名为 $myString
的变量中。
当我运行以下代码时,回显为空:
finalString="Hello\nWorld"
sudo bash -c 'echo -e "$finalString"'
我做错了什么?
最佳答案
您没有将变量导出到环境中,以便它可以被子进程获取。
您还没有告诉
sudo
保护环境。
\
finalString="Hello\nWorld"
export finalString
sudo -E bash -c 'echo -e "$finalString"'
或者,您可以用当前的 shell 替代:
finalString="Hello\nWorld"
sudo bash -c 'echo -e "'"$finalString"'"'
关于bash - 使用 sudo bash -c 'echo $myVariable' 回显变量 - bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37004340/