文字列と二重引用符を含む次の形式で引数を渡す必要があるシェルスクリプトでコマンドを実行しようとしています。
command "string"
文字列は変数var1に格納されます。
以下を試しましたが、要件を達成できませんでした。誰でもそれを実装する方法を提案できますか?私はbashシェルを使用しています。
command $var1
として説明されたcommand string`
command "$var1"
次のように解釈されます。command string
command \"$var1\"
次のように解釈されます。command '"string"'
command '"'$var1'"'
次のように説明しました。command '"string"'
答え1
あなたの要件を満たすソリューションは、次のものを使用することです。
command \""$var1"\"
いいえ、set -x出力は(正確に)command
受け取った出力ではありません。
答え2
次のように変数を設定できます。
$ var='"string"'
$ echo $var
"string"
または
$ var=string
$ echo $var
string
$ echo "\"$var\""
"string"
$ ls "\"$var\""
ls: cannot access "string": No such file or directory
私はこれが私たちが期待していたと信じています。