質問

どのように修正する必要があります 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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top