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

问题描述 投票:0回答:1

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

谢谢。

regex ksh quote
1个回答
0
投票

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

cat access_443_log.2020-01-09 | grep "$searchstring"
© www.soinside.com 2019 - 2024. All rights reserved.