在函数中引用会导致错误

在函数中引用会导致错误

我应该如何编写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[@]}"

相关内容