मैं एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं जो दो त्रुटि झंडे की जांच करेगा, और अगर एक झंडा (या दोनों) बदल दिया जाता है तो यह गूंज होगा - त्रुटि हुई। मेरी स्क्रिप्ट:
my_error_flag=0
my_error_flag_o=0
do something.....
if [[ "$my_error_flag"=="1" || "$my_error_flag_o"=="2" ] || [ "$my_error_flag"="1" && "$my_error_flag_o"="2" ]]; then
echo "$my_error_flag"
else
echo "no flag"
fi
मूल रूप से, यह होना चाहिए, कुछ साथ:
if ((a=1 or b=2) or (a=1 and b=2))
then
display error
else
no error
fi
मुझे जो त्रुटि मिलती है वह है:
line 26: conditional binary operator expected
line 26: syntax error near `]'
line 26: `if [[ "$my_error_flag"=="1" || "$my_error_flag_o"=="2" ] || [ "$my_error_flag"="1" && "$my_error_flag_o"="2" ]]; then'
क्या मेरे कोष्ठक गड़बड़ हैं?
a==1 or b==2
पहले से ही मामले को कवर करता है a==1 and b==2
। इसके लिए अलग से परीक्षण करना यहां पूरी तरह से अतिश्योक्तिपूर्ण है।