0
netcatを使用してチャット用のshスクリプトを作成しています。 は、これはコードです:Netcat Chat bashスクリプトの問題
#!/bin/bash
clear
echo
echo "-----------------------"
echo "| handShaker Chat 2.0 |"
echo "-----------------------"
echo
read -p 'Server or Client setUp? (s or c) > ' type
if [ $type == 's' ] || [ $type == 'S' ] || [ $type == 'server' ]
then
read -p 'Port (4321 Default) > ' port
if [ $port -gt 2000 ] && [ $port -lt 6500 ]
then
echo
echo "Started listening on port $port."
echo "Stream (Press ctrl + shift to end session) >"
echo
awk -W interactive '$0="Anonymous: "$0' | nc -l $port > /dev/null
else
echo "handShaker Error > The port $port is not a in the valid range (2000 ... 6500)."
fi
elif [ $type == 'c' ] || [ $type == 'C' ] || [ $type == 'client' ]
then
read -p 'Port (4321 Default) > ' port
if [ $port -gt 2000 ] && [ $port -lt 6500 ]
then
read -p 'Destination IP > ' ip
if [[ $ip =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]
then
echo
echo "Started streaming $ip on port $port."
echo "Stream (Press ctrl + shift to end session) >"
echo
awk -W interactive '$0="Anonymous: "$0' | nc $ip $port > /dev/null
else
echo "handShaker Error > Invalid IP Address."
fi
else
echo "handShaker Error > The port $port is not a in the valid range (2000 ... 6500)."
fi
else
echo "handShaker Error > $type is not a valid keyword."
fi
しかし、私は次のような問題がある:awkの-Wパラメータが存在していないようだ、とプログラムが実際にクライアントを実行した後に停止します。 私はmacOS端末を使用しています。
誰かがこのバグを修正してスクリプトを改善する手伝いをしてくれますか?
スクリプトは 'awk'なしで実行されますか?誤った構文が使用されているようです。あなたはそれをコメントアウトしようとしましたか? 'nc $ ip $ port'の出力は何ですか?あなたは 'nc -l $ port>/dev/null'だけを使って' awk'部分のない行を修正できますか?私はそこにawkを使用して意味を参照してください - – Inian
それはawkなしで完璧に動作します。私はその行にコメントして、代わりにnc -l $ portとnc $ ip $ portを入れました。今すぐawkを使いたいので、適切な出力を得るでしょう。 – Cristian
'nc'コマンド出力から' awk'で必要な出力は? – Inian