显示简单报价之间的变量

display a variable between simple quote

提问人:Sigggg 提问时间:7/30/2019 更新时间:7/30/2019 访问量:42

问:

我需要在 bash 脚本中运行一个命令。这是我的代码和要运行的命令的示例:

command(){
    $(randomCommand -a '${1}')
}

command "Hello world"

实际上,最终命令如下所示:

randomCommand -a '${1}'

但我想要这个:

randomCommand -a 'Hello world'

这很正常,变量不会在简单引号之间解释,但这些简单的引号对于我的程序是必需的。所以。。。我只需要用反斜杠转义引号? 如果我像这样使用反斜杠 \ :

command(){
    $(randomCommand -a \'${1}\')
}

command "Hello world"

该命令将如下所示:

randomCommand -a \'Hello world\'

这根本不是我想要的......

有人知道解决方案吗?谢谢!

bash 变量 引号 反斜杠

评论

0赞 David Guyon 7/30/2019
你好 Sigggg,欢迎来到 Stackoverflow。你试过双引号吗?喜欢这个。"'${1}'"

答:

2赞 Mihir Luthra 7/30/2019 #1
command(){
    $(randomCommand -a "'${1}'")
}

command "Hello world"

应导致:

randomCommand -a 'Hello world'