मैं एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं जो दो त्रुटि झंडे की जांच करेगा, और यदि एक ध्वज (या दोनों) बदल जाते हैं तो यह गूंज जाएगा - त्रुटि हुई। मेरे स्क्रिप्ट:बैश यदि एकाधिक स्थितियों वाले कथन में त्रुटि होती है
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'
मेरी कोष्ठक में गड़बड़ कर रहे हैं?
चेक इस बाहर: http: //theunixshell.blogspot.com/2013/ 05/सूची के- बैश-सशर्त-statements.html – Vijay
कोष्ठक का उपयोग (-) –
भी देखें http://stackoverflow.com/questions/3826425/how-to-represent-multiple-conditions-in-a-shell- स्क्रिप्ट – tripleee