2016-08-12 8 views
-1

を引用し、ウィッヒは文字bashシェルは変数を渡すと、私は、変数をした

myvar="alfanum;001String" 

のすべてのタイプが含まれており、私はこの方法

java -jar myapp.jar HERE I NEED TO PUT -> 'alfanum;001String' with single quotes 
で単一引用符を使用してコマンドに渡す必要があります

しかし、私が行う場合

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

それは動作しません。

私は二重引用符を使用することはできません注:$myvarは、ユーザーの入力し、それを取得するmyapp.jar必要が

はあなた

+1

非常に関連しています:[bashシェルスクリプトのコマンドでの単一引用符内の変数の拡張](http://stackoverflow.com/q/13799789/1983854)。だから 'java -jar myapp.jar ''" $ var "'''のようなものは – fedorqui

+0

でなければなりません。 '' '$ myvar' "'での最初のコードが動作するはずです。 – Barmar

+0

Unfortunatellyいいえ、そうでなければ私はこの質問を開けませんでした:) – user2548436

答えて

0

ありがとう単一引用符で丸みを帯びているので、

java -jar myapp.jar "$myvar" 

をあなたはこのようにすることができます

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

しかし、なぜあなただ​​けではない二重引用符ですか?

+1

コマンド置換は引用する必要がありますが、 'bash'では' java -jar myapp.jar "'$ myvar'" 'とまったく同じです。 – chepner

2

あなたは焦がす引用符で囲んだ文字列を形成するために一緒にいくつかの引用符の種類を混在させることができます:

"'""$myvar""'"'alfanum;001String'に展開されます。あなたはおそらくここでちょうど"$myvar"が必要です。

関連する問題