1

環境変数を特定の秒数設定してからリセットする方法はありますか。環境変数を読み取るスクリプトがあります。設定されている場合、スクリプトは終了する必要があります。基本的に、スヌーズ アルゴリズムを構築しようとしています。例えば。メッセージを受信すると、メッセージを送信し続けます。ただし、たとえば t 秒間スヌーズする必要がある場合があります。これらの t 秒間、すべての受信メッセージをバッファリングし、タイマー t が期限切れになると、バッファの内容を送信します。私のアプローチは、

if [ $MY_ENV=set ]
  then 
  buffer
fi

ただし、この環境変数はシェル固有であってはなりません。これは、同じマシン上の異なる場所からログインしたすべてのユーザーに対して行う必要があります。

4

2 に答える 2

1

シェル固有でない場合は、この目的のためにある種のロック ファイルを使用します。ロックファイルが存在する場合、それは var が設定されているのと同じです。t 秒後に削除するようにスケジュールを設定できます。

コマンドを見てくださいlockfile

于 2014-12-02T12:33:32.073 に答える