5:语法错误:我的脚本中的“(”意外(期待“然后”)

时间:2013-11-22 17:49:16

标签: shell syntax syntax-error sh netcat

您好我的脚本有问题 这个功能显然很糟糕但是如何解决呢?

nc -z -v ip adress port
if connect to ip adress port 13000 (tcp) failed: Connection refused
then
cd /usr/home/game/
./game
else
exit
fi

错误:

5:语法错误:“(”意外(期待“然后”)

2 个答案:

答案 0 :(得分:2)

你可能只是根据nc的退出状态行事:

if nc ...
then
    play the game
else
    exit
fi

答案 1 :(得分:1)

result=$(nc -z -v $ipaddress $port 2>&1)
if [ "$result" = "connect to ip adress port 13000 (tcp) failed: Connection refused" ]
then
    cd /usr/home/game
    ./game
else
    exit
fi

$(...)将命令的输出替换为命令行。并且2>&1将标准错误重定向到标准输出,因此将捕获错误消息。