"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

関連情報