在函数中引用会导致错误

ДМИ*_*КОВ 4 bash quoting

我应该如何编写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"
Run Code Online (Sandbox Code Playgroud)

第一个调用是错误的,第二个是正确的

$> ./test.sh 
Two
--another_option=Four Five Six
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 7

BASH 常见问题条目 #50:“我试图将命令放入变量中,但复杂的情况总是失败!”

TL;DR:使用数组。

command=(f --option="One Two Three" --another_option="Four Five Six")
"${command[@]}"
Run Code Online (Sandbox Code Playgroud)