为什么shell忽略通过变量传递给它的参数中的引号?
这项工作如广告所示:
# example 1#!/bin/bashgrep -ir 'hello world' .
这并不是:
# example 2#!/bin/bashargumentString="-ir 'hello world'"grep $argumentString .
尽管'hello world'在第二个示例中用引号括起来,grep解释'hello作为一个论点world'作为另一种,这意味着,在这种情况下,'hello将是搜索模式world'将是搜索路径。
'hello world'
'hello
world'
同样,只有当参数从argumentString变量。grep正确解释'hello world'作为第一个例子中的一个参数。
argumentString
有人能解释一下为什么吗?是否有适当的方法来展开字符串变量,以保留每个字符的语法,从而使其被shell命令正确地解释?
胡说叔叔
不负相思意
相关问题
相关分类