如何修复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
答案 0 :(得分:2)
BASH FAQ entry #50: "I'm trying to put a command in a variable, but the complex cases always fail!"
TL; DR:使用数组。
command=(f --option="One Two Three" --another_option="Four Five Six")
"${command[@]}"
答案 1 :(得分:0)
您无法修复变量。但你可以:
eval $command