首页 > 解决方案 > 与 netcat 的持续通信

问题描述

我有一个 bash 脚本,我需要使用 netcat 与服务器通信。我想要做

1.与 nc
连接 2.阅读答案
3.决定如何处理答案
4.向服务器发送数据
5.返回 2

这是我的代码。但是在 echo $JOB_STRING | 之后它没有前进 网猫 $BAGLANTI $PORT

$(echo $JOB_STRING | netcat $BAGLANTI $PORT)  
  read line    
  if [[ $line == "2.7" ]]; then
    echo Sunucu Verisyonu $line
---Send something to nc server
  else
    echo "İş geldi"
---Send something to nc server
  fi

我也尝试将响应存储在变量中,但这也不起作用

    RESPONSE="$(echo $JOB_STRING | nc $BAGLANTI $PORT)"
  if [[ $RESPONSE "2.7" ]]; then
    echo Sunucu Verisyonu $line
  else
    echo "İş geldi"
  fi

标签: linuxbashshellnetcat

解决方案


试试这个:

while read line; do

  if [[ $line == "2.7" ]]; then
    echo Sunucu Verisyonu $line
  else
    echo "İş geldi"
  fi

done < $(echo $JOB_STRING | netcat $BAGLANTI $PORT) 

编辑:

echo $JOB_STRING | netcat $BAGLANTI $PORT | while read line; do

  if [[ $line == "2.7" ]]; then
    echo Sunucu Verisyonu $line
  else
    echo "İş geldi"
  fi

done

推荐阅读