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
यह क्या करना चाहिए: यदि आईपी एड्रेस पोर्ट 13000 (टीसीपी) से कनेक्ट विफल हुआ: कनेक्शन से इनकार कर दिया ? क्या वास्तव में कोई आदेश कनेक्ट है जो इन पैरामीटर को लेता है? या आप एक त्रुटि की जांच करने की कोशिश कर रहे हैं?
जोड़ा लेखक tjameson, स्रोत
क्या आप ./ game को चलाने का इरादा रखते हैं केवल nc कमांड विफल रहता है ?
जोड़ा लेखक Keith Thompson, स्रोत

2 उत्तर

आप शायद एनसी के बाहर निकलने की स्थिति के आधार पर कार्य कर सकते हैं:

if nc ...
then
    play the game
else
    exit
fi
2
जोड़ा
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

$(...) substitutes the output of the command into the command line. And 2>&1 redirects standard error to standard output, so the error message will be captured by this.

1
जोड़ा