bash 명령 세트를 bash 함수에 전달

bash 명령 세트를 bash 함수에 전달

다음 bash 명령 세트를 전달하고 싶습니다

{ echo Apple; echo Banana; }

.bashrcbash 함수의 매개변수로 다음과 같이 정의됩니다 .

BashFunction(){
"$@" | SomeOtherFunction
}
BashFunction '{ echo Apple; echo Banana; }'

하지만 다음 오류가 발생합니다.

{ echo Apple; echo Banana; }: command not found

Bash 기능에서 따옴표를 제거하면

BashFunction(){
$@ | SomeOtherFunction
}

그러면 이 오류가 발생합니다.

{: command not found

답변1

배열을 사용하는 것은 어떻습니까?

#! /bin/bash
myeval () {
    for command in "$@" ; do
        $command
    done | other_func
}

myeval 'echo Apple' 'echo Banana'

관련 정보