2012-01-11 6 views
16

私は、特定の出力を指示するようにENV変数を設定できるperlスクリプトを持っています。 などnohup VERBOSE = 1 perl script.pl

$デバッグ、$冗長、$の開発は、通常、私は今、nohupを使用してそれらを実行するコマンドライン

$ VERBOSE=1 perl myperlscript.pl params 

からこれらを実行します。 ENVを設定するための試みとして、

$ nohup VERBOSE=1 perl myperlscript.pl params 

は明らかに適切ではないコマンドラインを使用して、{VERBOSE}私は

nohupをMSGを取得&をnohupをするのparamのように解釈されます。コマンドを実行することができなかった `VERBOSE = 1 ':そのようなファイルまたはディレクトリなし

ここで正しい構文は何ですか?私はこれをLinuxのボックスで実行しようとしています。

答えて

31

nohupを呼び出す前に環境変数を設定してください。nohup exec()(perlと置き換えられます)が保存されると、環境変数が保持されます。

$ VERBOSE=1 nohup perl myscript.pl params ... 
+0

ありがとうございます。それは自分のことを考えていたはずです。長い一日だった... – bobox

1

シェルスクリプトにすべてのコマンドを組み合わせて、そのようにそれを実行してみ:

nohupをする/path/to/script.shそれとも、輸出を使用することができます。その後、 輸出VERBOSE = 1 と: nohupをperlのmyperlscript.plのparams

3

これはまさにenvコマンドが何のためにあるのかです:

$ env VAR1=VAL1 VAR2=VAL2 nohup perl myperlscript.pl params & 
関連する問題