bash shell 传递变量和引号
bash shell pass variable and 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 需要用单引号四舍五入来检索它
谢谢
你可以这样做
java --jar myapp.jar $(echo "'$myvar'")
但为什么不直接使用双引号呢?
您可以将多种引号类型混合在一起形成单引号中的字符串:
"'""$myvar""'"
将扩展为 'alfanum;001String'
。不过,您可能只需要 "$myvar"
。
我有一个变量,其中包含所有类型的字符
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 需要用单引号四舍五入来检索它
谢谢
你可以这样做
java --jar myapp.jar $(echo "'$myvar'")
但为什么不直接使用双引号呢?
您可以将多种引号类型混合在一起形成单引号中的字符串:
"'""$myvar""'"
将扩展为 'alfanum;001String'
。不过,您可能只需要 "$myvar"
。