함수 내에서 참조하면 오류가 발생합니다.

함수 내에서 참조하면 오류가 발생합니다.

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 FAQ 항목 #50: "명령을 변수에 넣으려고 하는데 복잡한 경우가 항상 실패합니다!"

핵심요약: 배열을 사용하세요.

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

관련 정보