Tcp
如何將接收到的數據從 netcat 傳遞到另一個腳本作為參數?
我有簡單的 bash
nc
腳本:#!/bin/bash nc -k -l 127.0.0.1 4444 > filename.out
它偵聽
4444
埠以進行TCP
連接。如果可能的話,我不想將接收到的數據重定向到,而是filename.out
將每個數據塊(單行文本)script.sh
作為參數傳遞。我怎麼做?提前致謝。
編輯:我也嘗試過:
#!/bin/bash nc -k -l 127.0.0.1 4444 | /path/to/script.sh
但這不起作用
下面是多輸入腳本的入口點。
#!/bin/bash [ $# -ge 1 -a -f "$1" ] && input="$1" || input="-" # your script's payload here
我希望這
#!
條線是不言自明的在第二行
$# -ge 1
並且正在測試至少一個命令行參數
-a
是布爾值和運算符
-f "$1"
正在測試第一個參數是否是文件
&&
如果前一個條件成立,則後面是要執行的指令
||
接下來是如果測試條件不成立會發生什麼nc -k -l 127.0.0.1 4444 > filename.out my_processing_script filename.out
-或者-
nc -k -l 127.0.0.1 4444 | my_processing_script
所以,如果我有一個參數並且它是一個文件,我的輸入就是這個文件,如果沒有,我的輸入來自管道,即
"-"
然後你可以隨心所欲地執行你的東西。任何一個
我用有效載荷進行了測試
awk '{print $2}' ${input}
我的輸入來自
netstat -rn
命令並且以任何一種方式工作。我希望這是你要問的