linux 管道通信 之 不通脚本间通信示例
作者:互联网
#!/bin/bash # filename: reader.sh # 逐行读取管道中的内容 pipe=/tmp/testpipe trap "rm -f $pipe" EXIT if [[ ! -p $pipe ]]; then mkfifo $pipe fi while true do if read line <$pipe; then if [[ "$line" == 'quit' ]]; then break else echo $line fi fi done echo "Stop reader...."
#!/bin/bash # writer.sh # 把当前进程的pid写到管道 pipe=/tmp/testpipe if [[ ! -p $pipe ]]; then echo "Reader not running" exit 1 fi if [[ "$1" ]]; then echo "$1" >$pipe else echo "Hello from $$" >$pipe fi
reader 和 writer 必定有一个会等待,$pipe中不会存数据,只是一个桥梁
trap "rm -f $pipe" EXIT 解释:https://zhuanlan.zhihu.com/p/36831519
只要不是强制拔电源关键,脚本结束都会调用里面的命令,包括异常及reboot等
标签:tmp,pipe,示例,testpipe,writer,echo,间通信,linux,fi 来源: https://www.cnblogs.com/duoruaimi4/p/16336701.html