【发布时间】:2014-04-22 01:22:43
【问题描述】:
我试图让一个 bash 将参数传递给另一个 bash,我设法通过采购其中一个并从另一个调用它来做到这一点,这样它们就可以成为同一个 shell 下的父子。问题是孩子是一个循环,因为我正在托盘捕获事件(它可能正在读取一个fifo(管道文件))并且这阻止了bash......对,所以我觉得嗯,让我们尝试在后台运行bash并且我在这里遇到的问题是我猜这些变量不是 int 因为我猜它不在同一个外壳下我尝试采购和支持但没有积极的结果......
在某些时候,当我发送到 fifo(管道文件)时,我的 shell 开始变得疯狂,即使没有(我知道正在读取)它的行为就好像有什么东西已经读取了该 fifo,以及我的其他一些 bash 屏幕开始做疯狂的事情......:O
无论如何,我想知道是否有人可以帮助我。不知道我想要做的事情是否可能......谢谢。
不知道我在哪里读到(还不能再次找到该页面)将脚本移动到后台使其可以访问父子进程、子进程及其爸爸妈妈,但这不是我现在的经验。
bash1
#!/bin/bash
while true
do
. ./bash2.sh &
if [[ $VARIABLE = 1 ]]; then
echo "message recevied"
fi
bash2
#!/bin/bash
while true
do
if [[ $(cat ./fifo1) = 0 ]]; then
VARIABLE=1
fi
done
谢谢
【问题讨论】:
-
bash2 假设将
VARIABLE设置为 1 并且 bash1 将从 bash2 中读取,对吗?
标签: linux bash shell named-pipes