bash shell传递变量和引号

时间:2016-08-12 08:30:53

标签: bash variables quotes

我有一个变量,包含所有类型的字符

myvar="alfanum;001String"

我需要以这种方式将它们传递给带有单引号的命令

java -jar myapp.jar  HERE I NEED TO PUT ->  'alfanum;001String' with single quotes

但如果我这样做

java -jar myapp.jar "'$myvar'"  

它不起作用。

注意我不能只使用双引号:

java -jar myapp.jar "$myvar" 

因为$myvar是用户的输入而myapp.jar需要使用单引号检索它#/ p>

谢谢

2 个答案:

答案 0 :(得分:2)

您可以将多种报价类型混合在一起,形成单引号的字符串:

"'""$myvar""'"将扩展为'alfanum;001String'。你可能只需要"$myvar"

答案 1 :(得分:0)

你可以这样做

java --jar myapp.jar $(echo "'$myvar'")

但为什么不使用双引号?