簡體   English   中英

在bash中將env變量設置t秒鍾

[英]set env variable in bash for t seconds

有沒有一種方法可以將env變量設置為一定的秒數,然后重置。 我有一個讀取env變量的腳本。 如果已設置,腳本應退出。 基本上,我正在嘗試構建貪睡算法。 例如。 它在接收消息時一直在發送消息。 但是有時我需要暫停它們t秒鍾,在這t秒鍾內它將緩沖所有傳入的消息,並且當計時器t到期時,發送緩沖區內容。 我的方法是使用

if [ $MY_ENV=set ]
  then 
  buffer
fi

但是,此env變量不得特定於Shell。 它應該適用於從同一台計算機上不同位置登錄的每個用戶。

如果它不應該是特定於shell的,那么我將為此目的使用某種鎖定文件。 如果存在鎖定文件,則相當於設置了var。 您可以計划在t秒后刪除某些內容。

查看lockfile命令。

無論時間安排如何,都無法從該過程外部在已經運行的過程環境中設置變量。

您需要為此使用文件系統。 例如,如果它是用戶特定的,則可以是用戶主目錄中的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM