非常简单的问题,但我看不出问题是什么。在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。
谢谢。