2016-08-27 24 views
0

我需要一個bash腳本等待另一個數據。
是否有一種我可以完成的本地Linux方式,最好是不使用可能變成陳舊的文件?發送事件和數據到一個bash腳本

+0

什麼樣的數據?管道是否合適:'another-script |一個慶典,script'? –

+3

你不必鏈接他們與命名管道,檢查'mkfifo'鏈接將無法正常工作 – karakfa

+0

。這實際上是一個複雜的服務依賴runit。但僅僅檢查其他服務是否正在運行是不夠的。它輸出另一個依賴的數據。 – Matt

回答

0

是否可以在腳本中使用Subshell?雖然我個人對此沒有任何經驗,但您可能想嘗試其他方法。

+0

不幸的不是。 – Matt

+0

你解決了你的問題嗎?我對這個問題也非常感興趣。 – Samundra

+0

我做過了,我會發佈一個答案。 – Matt

1

我最終解決這個問題的方式是使用fifo管道。

例如source.sh

#!/bin/bash 

if ! [ -p "pipe" ]; then 
    mkfifo -m 0600 "pipe" 
fi 

echo "hello world" > "pipe" 

dest.sh

#!/bin/bash 

if ! [ -p "pipe" ]; then 
    mkfifo -m 0600 "pipe" 
fi 

MYVAR=$(<"pipe") 
echo $MYVAR 

因爲寫作和閱讀塊,每個腳本將不會繼續進行,直到數據在發送或閱讀。

相關問題