假设我有这个script.sh
:
env -i SOMEVAR=SOMEVALUE eval -- "$@"
我运行它:
./script.sh echo "\$SOMEVAR"
现在显示:
env: ‘eval’: No such file or directory
我想它不起作用,因为它eval
是 Bash 内置的。
有什么办法可以env
一起工作eval
吗?
答案1
你为什么想要eval
?只需使用外壳:
$ cat foo.sh
#!/bin/sh
env -i SOMEVAR=SOMEVALUE sh -c "$@"
然后你像这样运行它:
$ foo.sh 'echo $SOMEVAR'
SOMEVALUE