Почему сравнение строк с подстановочными знаками не работает должным образом? - PullRequest
0 голосов
/ 26 марта 2020

Я написал этот шелл-код, но он не дает хороших результатов. Несмотря на то, что $ csoport получает вывод "...: No only user", id не повторяет следующую строку, которую я там написал.

 read felhasznalo
 while [ "$felhasznalo" != "exit" ]
 do
    csoport=`groups $felhasznalo`
    echo "$csoport"

    if [[ "$csoport" == *": No such user"* ]] ; then
            echo -n "Nincs ilyen felhasznalo a rendszerben"

    else
            echo "$csoport"
    fi
    echo -n "Felhasznalo: "
    read felhasznalo
 done

1 Ответ

2 голосов
/ 26 марта 2020

Вы не должны пытаться сопоставить сообщение об ошибке, так как вам важно только, если groups не удастся. Вы должны сделать:

if ! csoport=$(groups "$felhasznalo"); then
        printf "Nincs ilyen felhasznalo a rendszerben"
else
        echo "$csoport"
fi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...