10

cron を介して別のスクリプト setup.sh を呼び出すスクリプト runonce.sh があります。このケースは、「TERM 環境変数が設定されていない」理想的なケースと考えられます。runonce.sh スクリプトの出力に表示されます。

今、私は別の 3 番目の単純なスクリプト - setup.sh を呼び出すときに upgradeAndTest.sh という問題に直面していますが、そのときも「TERM 環境変数が設定されていません」。upgradeAndTest.sh スクリプトの出力に表示されます。どうしてそうなの..?

また、スクリプトの呼び出しで setup.sh の stderr を stdout にリダイレクトすると、「TERM 環境変数が設定されていません」。コンソールに表示されます。

この行を呼び出しスクリプトの stdout から削除するのを手伝ってくれる人はいますか?

4

1 に答える 1

27

端末を介して要求するプログラムを実行すると、cron問題が発生する可能性があります。によって実行される場合、端末はありませんcron

ただし、疑わしい場合は、次の行を追加して、変数がスクリプトに設定されていることを確認してください。

export TERM=${TERM:-dumb}

環境変数TERMがすでに設定されている場合、これはノーオペレーションです。そうでない場合は、端末を最小限の機能を持つ標準の端末に設定します。これにより、設定されていないことを訴えるプログラムを満足させることがTERMできます。

于 2013-10-17T12:39:30.717 に答える