lockfコマンドを使用してevalを実行するには?

lockfコマンドを使用してevalを実行するには?

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

おすすめ記事