"eval"과 함께 "env" 명령 사용

"eval"과 함께 "env" 명령 사용

내가 이것을 가지고 있다고 가정 해 봅시다 script.sh:

env -i SOMEVAR=SOMEVALUE eval -- "$@"

나는 그것을 실행합니다 :

./script.sh echo "\$SOMEVAR"

이제 다음을 보여줍니다:

env: ‘eval’: No such file or directory

evalBash가 내장되어 있기 때문에 작동하지 않는 것 같습니다 .

env우리가 함께 일할 수 있는 방법이 있나요 eval?

답변1

왜 그걸 원해요 eval? 그냥 쉘을 사용하세요:

$ cat foo.sh
#!/bin/sh
env -i SOMEVAR=SOMEVALUE  sh -c "$@"

그런 다음 다음과 같이 실행합니다.

$ foo.sh 'echo $SOMEVAR'
SOMEVALUE

관련 정보