转义引号在命令行上很好,但是在分配给变量时不起作用

非常简单的问题,但我看不出问题是什么。在ksh shell中,将转义引号引起来的转义在分配给变量时与在命令行中使用时不同。我可以找到的所有示例都使用命令行进行了演示,因此找不到与一个非常基本的问题相匹配的结果。

两者都能正常工作:

cat access_443_log.2020-01-09 | grep'HTTP / 1.1“ 200'

cat access_443_log.2020-01-09 | grep“ HTTP / 1.1 \” 200“

但是只要将其中一个分配给搜索字符串变量就可以这样做

searchstring ='HTTP / 1.1“ 200' searchstring =“ HTTP / 1.1 \” 200“

cat access_443_log.2020-01-09 | grep $ searchstring

错误: grep:0652-033无法打开200。

谢谢。

jinsong0002 回答:转义引号在命令行上很好,但是在分配给变量时不起作用

尝试像这样在变量中添加双引号。

cat access_443_log.2020-01-09 | grep "$searchstring"
本文链接:https://www.f2er.com/2799144.html

大家都在问