0

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"

最初の呼び出しは間違っており、2 番目の呼び出しは正しい

$> ./test.sh 
Two
--another_option=Four Five Six
4

2 に答える 2

2

BASH FAQ エントリ #50: 「コマンドを変数に入れようとしていますが、複雑なケースは常に失敗します!」

TL;DR: 配列を使用します。

command=(f --option="One Two Three" --another_option="Four Five Six")
"${command[@]}"
于 2011-09-08T21:23:26.423 に答える
0

変数を修正できません。でも君ならできる:

eval $command
于 2011-09-08T21:18:28.813 に答える