如何使echo命令不跳过双引号

时间:2018-07-23 18:39:14

标签: shell

我有一个长脚本和一段代码,应该回显主机名的名称(f是我的脚本从另一个文件读取的变量):

echo "  ignore where match("$f", host.name)" >> /home/username/outputfile

我希望输出看起来像这样:

ignore where match("myhostname.com", host.name)

但是我的回显脚本跳过了“。并且我最后得到的行缺少“:

ignore where match(myhostname.com, host.name)

可以帮忙吗?

谢谢

1 个答案:

答案 0 :(得分:0)

尝试转义双引号:

$ f="myhostname.com"
$ echo "  ignore where match(\"$f\", host.name)" 

如果将返回:

ignore where match("myhostname.com", host.name)