Bash将信息从脚本传递到脚本

时间:2014-04-17 20:19:13

标签: linux bash shell arguments cgi

我有一个bash CGI日志记录连接到我的服务器,我希望在请求/稳定/服务新连接时,此脚本将参数/变量传递给在后台运行的另一个脚本?这可能吗?我怎么能这样做?

我已尝试过环境变量,但这只能在同一个shell中运行,我不能确定它们是否会在同一个shell上运行。我已经尝试写入文件,但我怎么知道文件何时被编辑,从而允许第二个脚本执行命令。

我开始变得疯狂,这一定是可能的我无法相信“程序”无法共享信息......:O

也许我采取了错误的做法,有人可以提出建议吗?

谢谢, Marco P。

1 个答案:

答案 0 :(得分:2)

命名管道可能是一种方式,虽然它是阻塞的:

设置:

mkfifo /path/to/named/pipe

cgi脚本:

echo "some data" > /path/to/named/pipe   # blocks until other script consumes!

后台脚本:

while :; do
    read data < /path/to/named/pipe      # blocks until cgi script produces!
    do_stuff_with "$data"
done