我很新的shell腳本,我試圖去用管道交手。我可以在這裏完全錯誤的方向...使用命名管道來創建一個「迴路」
我有一個shell腳本,它包含一個簡單的while循環,在這個循環內,我正在使用netcat監聽指定的端口和管道輸入二進制文件,通過stdin等待命令。這是腳本-A
我有一個接受輸入作爲參數第二shell腳本,它就會回聲這些參數的端口的netcat監聽的。這是腳本-B
我的目標是讓從位於腳本-A到通過Netcat的腳本-B的二進制文件返回的輸出,使得它可以通過標準輸出返回。二進制文件必須被初始化並等待輸入。
這是我有:
腳本-A
while true; do
nc -kl 1234 | /binarylocation/ --readargumentsfromstdinflag
done
腳本-B
foo=$(echo "$*" | nc localhost 1234)
echo "$foo"
採用這種設置,二進制文件的輸出是通過腳本-A進行 做一些研究,我得到了這一點後,我試圖使用命名管道創建一個從二進制文件回netcat的一種循環,它仍然沒有工作 -
腳本-A
mkfifo foobar
while true; do
nc -kl 1234 < foobar | /binarylocation/ --readargumentsfromstdinflag > foobar
done
腳本-B沒有改變。
請記住我的shell腳本的經驗莖一段關於一個單一的一天,謝謝。
更新我的回答... – Kaii 2012-02-22 12:56:21