[英]Passing Arguments to Running Bash Script
我有一個bash腳本,其中包含IP地址列表,並每隔15秒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.