我应该如何编写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
答案1
BASH 常见问题解答条目 #50:“我试图将命令放入变量中,但复杂的情况总是失败!”
TL;DR:使用数组。
command=(f --option="One Two Three" --another_option="Four Five Six")
"${command[@]}"