Почему я получаю сообщение об ошибке при включении && и оценке второй строки - PullRequest
0 голосов
/ 09 февраля 2020

Использование Bash Версия 4.4

Рабочая Bash Код:

# Hello World Program in Bash Shell

MY_NAME="John"
NAME_1="Kate"
if [ ${MY_NAME} == "John" ]; then
    echo "John and Kate are home from vacation"
fi

Ошибка Bash Код:

Ошибка:

# Hello World Program in Bash Shell

    MY_NAME="John"
    NAME_1="Kate"
    if [ ${NAME_1} == "Kate" && ${MY_NAME} == "John" ]; then
        echo "John and Kate are home from vacation"
    fi

main. sh: строка 5: [: отсутствует `] '

1 Ответ

1 голос
/ 09 февраля 2020

[ не поддерживает && внутри, вместо этого используйте -a.

[[ поддерживает &&

Таким образом, вы можете заменить && на -a или замените [ и ] на [[ и ]]

Например:

[ 1 -eq 1 -a 2 -eq 2 ]

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