Linux пропускает мой оператор else при запуске скрипта bash? - PullRequest
1 голос
/ 24 апреля 2020

Так что мне нужно сказать, что этого человека нет в классе. Похоже, что это пропускает мое еще заявление. Что-то не так?

if [ $# == 1 ]; then

    if  grep "$1" /acct/common/CSCE215 | cut -d ',' -f1-3 | tr ',' ' '; then
    true

    else
            echo "Sorry that person is not in CSCE215 this semester"
    fi

else
    echo "Command line arguments are not equal to 1"
    echo "$#"
fi

1 Ответ

1 голос
/ 24 апреля 2020

Код выхода переданных команд - это код выхода последней (tr в вашем случае, который всегда 0)

Используйте параметр set -o pipefail в вашем скрипте, чтобы разорвать трубопровод если одна из команд не удалась .

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