質問
どのように修正する必要があります command
正しい動作を取得する変数?
#!/bin/bash
function f ( )
{
echo "$2"
}
command="f --option=\"One Two Three\" --another_option=\"Four Five Six\""
$command
f --option="One Two Three" --another_option="Four Five Six"
最初の呼び出しは間違っています
$> ./test.sh
Two
--another_option=Four Five Six
解決
Bash FAQエントリ#50:「変数にコマンドを入れようとしていますが、複雑なケースは常に失敗しています!」
TL; DR:配列を使用します。
command=(f --option="One Two Three" --another_option="Four Five Six")
"${command[@]}"
他のヒント
変数を修正することはできません。でも君ならできる:
eval $command
所属していません StackOverflow