2013-11-22 45 views
0

你好,我有這個腳本 此功能的一個問題顯然是不好的,但如何解決它5:語法錯誤:「(」意外(我的劇本期待「那麼」)

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:語法錯誤: 「(」 意外(期待 「然後」)

+0

這是什麼應該做的:'如果連接到IP地址端口13000(TCP)失敗:連接refused'?是否真的有一個命令'connect'來接受這些參數?還是你想檢查錯誤? – tjameson

+0

你是否打算只有在'nc'命令失敗*時才運行'./遊戲'? –

回答

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再導向將標準錯誤影響到標準輸出,因此錯誤信息將被捕獲。

2

你也許可以基於NC的退出狀態只是行事:

if nc ... 
then 
    play the game 
else 
    exit 
fi 
相關問題