J'essaie d'écrire un script qui vérifiera deux indicateurs d'erreur, et au cas où un indicateur (ou les deux) serait modifié, il fera écho - une erreur s'est produite. Mon scénario:
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
Fondamentalement, cela devrait être quelque chose le long:
if ((a=1 or b=2) or (a=1 and b=2))
then
display error
else
no error
fi
L'erreur que j'obtiens est:
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'
Mes supports sont-ils foirés?
a==1 or b==2
couvre déjà le cas où a==1 and b==2
. Tester séparément pour cela est complètement superflu ici.