簡體   English   中英

將參數傳遞給正在運行的Bash腳本

[英]Passing Arguments to Running Bash Script

我有一個bash腳本,其中包含IP地址列表,並每隔15秒ping通它們以測試連接性。 其中一些IP地址是我可以控制的服務器和計算機。 我希望能夠執行以下操作:

  • 運行Bash文件
  • ping非受控IP地址
  • 它將列出受控計算機
  • 當計算機關閉時,它會向我的腳本發送響應,說計算機已關閉
  • 腳本相應地輸出

我已經設置了所有代碼,每15秒ping這些計算機一次並顯示。 我想實現的是無法 ping我控制的計算機。 他們將向bash腳本發送命令。 我知道這可以通過編寫文件和讀取這樣的文件來完成,但我想,因為它發生改變顯示方式。 mkfifo是一個可行的選擇嗎?

是的, mkfifo可以完成此任務。 例如,這:

mkfifo ./commandlist

while read f < ./commandlist; do
    # Actions here
    echo $f
done

將等到可以從FIFO commandlist中讀取新commandlist ,將其讀入$f並執行主體。

從外部,使用以下命令寫入FIFO:

echo 42 > ./commandlist

但是 ,為什么不讓遠程服務器通過SSH甚至CGI調用此腳本呢? 您可以設置不帶參數的/notify-disconnect CGI腳本,並從REMOTE_ADDR環境變量獲取對等方的IP地址。

暫無
暫無

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

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