eval
以下のように実行コマンドがあります。
#! /bin/sh
readonly scr="MYENV=1 sh /tmp/scr.sh"
eval ${scr} -a 1 -b 2
scr
これでユーティリティを使ってスクリプトを実行したいlockf
ので、次のように変更しました。
#! /bin/sh
readonly scr="MYENV=1 sh /tmp/scr.sh"
lockf -k /tmp/f.lock eval ${scr} -a 1 -b 2
次のエラーが発生します。
lockf: eval: No such file or directory
デフォルトでは、制限はコマンドを実行するときにMYENV=1
エクスポートする必要があることです(したがってuse)。eval
私はシェルプログラミングが初めてですが、この問題を解決する方法がわかりません。これをどのように実行しますか?
ベストアンサー1
eval
シェルが組み込まれています。一般的に間違えやすいので使用しないことをお勧めします。
あなたはただ必要かもしれません
#!/bin/sh
MYENV=1 lockf -k /tmp/f.lock sh /tmp/scr.sh -a 1 -b 2