मुझे नहीं पता कि यह एक बुरी बात है, या इसका क्या मतलब है। मेरी स्क्रिप्ट अभी भी ठीक काम कर रही है, लेकिन क्या मुझे इसे ठीक करना चाहिए?
#!/bin/sh
#This script will send text and maybe images to other computers via ssh and scp.
#Configuration files in same folder
source /Users/jacobgarby/Desktop/messaging/messages.cfg
TIME=$(date +"%H:%M:%S")
CONNECTED[0]="mainmini@192.168.1.65"
if [ -d messages.log ]; then
:
else
touch messages.log
fi
read MSG
if [ "$MSG" == "!help" ]; then
echo ; echo "!clear Clear's your personal chat log."
echo "!ban [usrname] Prevents a user from entering this chat IN DEV."
else
echo "$TIME | $USER | $MSG" >> messages.log; echo >> messages.log; echo >> messages.log
tail messages.log
fi
for CONNECTION in CONNECTED; do
echo "It works"
done
if [ "alerttype" == "notification"]; then
osascript -e 'display notification "You have recieved a message!" with title "Message"'
else
osascript -e 'display dialog "You have recieved a message!" with title "Message"'
fi
लिनक्स / यूनिक्स साइट पर
—
माइकल डुरंट
स्ट्रिंग
—
चार्ल्स डफी
alerttype
कभी भी स्ट्रिंग के समान नहीं होगी notification
। शायद आपका मतलब है [ "$alerttype" = "notification" ]
?
(और हां, मेरा मतलब है
—
चार्ल्स डफी
=
, नहीं ==
- pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html पर POSIX विनिर्देश देखें , और आप देखेंगे कि समर्थित स्ट्रिंग तुलना सिंटैक्स है s1 = s2
; ==
यह एक संक्षिप्त विस्तार है, और) सभी ऑपरेटिंग सिस्टम और शेल इसका समर्थन नहीं करेंगे; यदि आप पोसिक्स-मानक एक के बजाय स्पष्ट रूप से बैश-विस्तारित तुलना ऑपरेटर का उपयोग करना चाहते हैं, तो यह [[ ]]
नहीं है [ ]
)।
हाँ, जब से मैंने यह पोस्ट किया मुझे एहसास हुआ कि
—
याकूब_
इस तरह की त्रुटियों को आसानी से पाया जा सकता है: shellcheck.net
—
SnakeDoc