Если оператор с несколькими сравнениями int не работает, но работает, если один? - PullRequest
0 голосов
/ 20 сентября 2019

Когда я использую одиночное сравнение if, сравнение if работает, но когда я собираю несколько сравнений, утверждение никогда не проходит.

a=0
b=0
c=0
if [ $c -eq 0 ]; then
    echo "test"
    exit
fi

if [ $a -eq 0 ] && [ $b -eq 0 ] && [ $c -eq 0 ];then
    echo "error"
    exit
fi

Второй оператор if должен выполняться, но никогда не выполняется.

Я также выполняю это на параметрах ранее.

if [ -e a ];then
    let a=a+1
fi
for f in *.c ; do
    if [ -e ${f} ];then 
        let b=b+1
    fi
done

for f in *.h; do
    if [ -e ${f} ];then 
        let c=c+1
    fi
done

Этот цикл завершается со всеми 0 для всех переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...