我需要帮助使用bash回显变量

时间:2014-11-10 15:07:16

标签: bash

我试图追加该行

  

登录仓=" / 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

1 个答案:

答案 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