【发布时间】:2016-08-12 08:30:53
【问题描述】:
我有一个变量,它包含所有类型的字符
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 需要用单引号对其进行取整
谢谢
【问题讨论】:
-
相当相关:Expansion of variable inside single quotes in a command in bash shell script。所以像
java -jar myapp.jar ''"$var"''这样的东西应该做 -
您的第一个带有
"'$myvar'"的代码应该可以工作。 -
不幸的是没有,否则我不会打开这个问题:)
-
什么不起作用,什么是错误?
-
如果 参数 需要包含单引号,则提供正确数据是调用者的责任,而不是您的责任。如果您不使用
myvar,正确的调用是java -jar myapp.jar 'alfanum;001String'还是java -jar myapp.jar "'alfanum;001String'"?