A citação em uma função resulta em erro

4

Como devo escrever a variável command para obter o comportamento esperado?

#!/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"

A primeira chamada está errada, segundo - à direita

$> ./test.sh 
Two
--another_option=Four Five Six
    
por ДМИТРИЙ МАЛИКОВ 08.09.2011 / 23:04

1 resposta

7

BASH FAQ entry # 50: "Estou tentando colocar um comando em uma variável, mas os casos complexos sempre falham!"

TL; DR: use uma matriz.

command=(f --option="One Two Three" --another_option="Four Five Six")
"${command[@]}"
    
por 08.09.2011 / 23:11

Tags