我想利用/dev/tcp 建立socket连接,成功打印success,失败打印fail,但是遇到一些问题:
#!/bin/sh
exec 8<>/dev/tcp/127.0.0.1/8201 
if [ $? -eq 0 ];then 
  echo "success"
  exec 8<&-
else 
  echo "fail"
  echo 8<&-
  exit 1
fi
上面的语句在端口可以正常联通的情况可以打印success,但是端口无法访问时,
执行第一句报错拒绝连接后,就不继续往下进行了,即期待的fail没有打印出来。我将脚本改写成
#!/bin/sh
SUCCESS=0
exec 8<>/dev/tcp/127.0.0.1/8201 && SUCCESS=1 || {
SUCCESS=0
}
if [ $SUCCESS -eq 1 ];then
  echo "success"
  exec 8<&-
else
  echo "fail"
  exit 1
fi现在可以打印出fail了但是还是不符合要求,打印出了多余的错误提示。尝试使用 2>/dev/null 也没有效果,
请问应该怎么将报错屏蔽掉只打印一个fail?