다음 bash 명령 세트를 전달하고 싶습니다
{ echo Apple; echo Banana; }
.bashrc
bash 함수의 매개변수로 다음과 같이 정의됩니다 .
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'