我试图追加该行
登录仓=" / MySQL的日志/ bin中日志"
到文件
的/ etc / MySQL的/测试
并且以下命令执行作业
echo' echo" log-bin ="" \" / mysql-log / bin-log \"" >>的/ etc / MySQL的/测试' | sudo -s
但是,如果我想要一个更灵活的脚本,我要很难,其中要追加的行存储在一个变量上。这是通过做这样的事情:
#!/斌/庆典
BIN_LOG_DIR =" \" / MySQL的日志/ bin中日志\""
STR ="登录斌=" $ BIN_LOG_DIR
echo' echo $ {str}>>的/ etc / MySQL的/测试' | sudo -s
此脚本添加一个空行,而不是变量$ str中包含的预期值。我该如何解决这个问题?
提前致谢!! gorf
答案 0 :(得分:0)
当您使用单引号时,变量也不进行插值,您需要双引号。这就是问题
所以:
#!/bin/bash
BIN_LOG_DIR="/mysql-log/bin-log"
str="log-bin$BIN_LOG_DIR"
echo "echo ${str} >> /etc/mysql/test" | sudo -s
有关使用不同引号的说明,请参阅http://mywiki.wooledge.org/BashGuide/Practices#Quoting。