将参数传递给运行Bash脚本

时间:2014-01-27 18:23:25

标签: linux bash runtime

我有一个bash脚本,它接受一个I​​P地址列表,并每15秒ping一次以测试连接。其中一些IP地址是我有能力控制的服务器和计算机。我希望能够做到以下几点:

  • 运行Bash文件
  • 它ping非受控IP地址
  • 它将列出受控计算机
  • 当计算机关闭时,它会向我的脚本发送一条消息,说明它已关闭
  • 脚本相应输出

我已经设置了所有设置的代码,每15秒对这些计算机执行一次并显示。我希望实现的是 ping我的受控计算机。他们将向bash脚本发送命令。我知道这可以通过编写文件和阅读这样的文件来完成,但我想要一种改变显示的方法 AS IT HAPPENS mkfifo会成为可行的选择吗?

1 个答案:

答案 0 :(得分:0)

是的,mkfifo可以胜任此任务。例如,这个:

mkfifo ./commandlist

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

将等待,直到可以从FIFO commandlist读取新行,将其读入$f并执行正文。

从外部,使用以下命令写入FIFO:

echo 42 > ./commandlist

但是,为什么不让远程服务器调用这个脚本,也许是通过SSH甚至是CGI?您可以设置不带参数的/notify-disconnect CGI脚本,并从REMOTE_ADDR环境变量中获取对等体的IP地址。