0
我想運行netcat(netcat-openbsd 1.105-7ubuntu1
)並模擬聊天序列。我想自動獲得netcat響應。netcat是否有條件響應
我想要的例子。
NETCAT: nc -l 8080
CLIENT: nc localhost 8080
CLIENT: hello
NETCAT: (if statment)
if hello
do hello friend
if bye
do bye friend
send a FIN tcp
default
date()
我複製(由@wooghie在asnwer)在這個問題的代碼:run a command conditionally with netcat and grep ......但消息沒有發送到客戶端。 Netcat處於監聽模式。
#!/bin/bash
netcat -l 8080 | while read line
do
match=$(echo $line | grep -c 'Hello')
if [ $match -eq 1 ]; then
printf "Hello friend\r\n\r\n"
fi
done
不需要。您需要輸入標準輸入*和*由標準輸入提供。因此,使用'netcat -l'比在perl或python中重新實現整個'netcat -l'要複雜/脆弱得多。 – kubanczyk
@kubanczyk - 你完全可以使用命名管道。 Bash的'coproc'使它變得更容易:http://stackoverflow.com/a/36327396/477563 –
試着給標籤添加'expect'並且@GlennJackman可以分享他對這些東西的巨大智慧.... –