非常简单的问题,但我看不出问题是什么。在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时执行此操作
searchstring ='HTTP / 1.1“ 200'或searchstring =“ HTTP / 1.1 \” 200“
cat access_443_log.2020-01-09 | grep $ searchstring
错误: grep:0652-033无法打开200。
谢谢。
尝试像这样在变量中添加双引号。
cat access_443_log.2020-01-09 | grep "$searchstring"