次のコードセグメントは、elseステートメントに入る必要があるときにステートメントに移動しelifます。
#The following line returns 3, 4 or 5 as the exit code.
$BASH_EXEC adbE.sh "adb $ARGUMENT install $f"
echo "the return code:$?."
if [ $? -eq 5 ]
then
#do nothing, success
continue
elif [ $? -eq 4 ]
then
echo "WARNING"
else
echo "ERROR"
break
fi
この部分:echo "the return code:$?."これを画面にエコーします:the return code:4.
そして、それは表示されませんWARNING。このコードが含まれているループを表示ERRORしてから中断するだけです。for
私は何が間違っているのですか?
これが私が試した条件比較のバリエーションで、同じ問題が発生しました:
if [ $? -eq 5 ]if [ $? -eq "5" ]if [ $? == 5 ]if [ $? == "5" ]if [[ $? -eq 5 ]]if [[ $? -eq "5" ]]if [[ $? == "5" ]]if [[ $? == 5 ]]