У меня есть следующий скрипт bash:
dpkg-query --show --showformat='${Status}\n' "$i" 2> \
/dev/null | grep "install ok installed" &> /dev/null
if [[ $? -eq 0 ]]; then
l_var_is_desktop="true"
fi
и утилита ShellCheck (https://www.shellcheck.net/) дает мне следующий вывод:
$ shellcheck myscript
Line 17:
if [[ $? -eq 0 ]]; then
^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
$
Ссылка на этупредупреждение следующее: https://github.com/koalaman/shellcheck/wiki/SC2181
Каков наилучший способ изменить это. Команда слишком длинна, чтобы поместить ее в одну строку. Я хотел бы избежать использования правил игнорирования ShellCheck.
Я попытался создать локальную переменную и сохранить выходные данные команды, но это нарушает другие правила.