Я взломал этот скрипт bash, который проверяет, есть ли у пользователя привилегии суперпользователя, и если он этого не делает, он запрашивает их. В конечном итоге я пытаюсь инвертировать второе выражение «if», чтобы можно было удалить следующие две строки (эхо «пароль в порядке» и остальное в следующей строке)
# Root user only
if [[ "$EUID" != 0 ]]; then
sudo -k # make sure to ask for password on next sudo
if sudo true; then
echo "Password ok"
else
echo "Aborting script"
exit 1
fi
fi
echo "do my ops"
Является ли цель «true» в четвертой строке просто нулевым утверждением?
Мне нужно инвертировать тест на четвертой строке, как мне это сделать? Вот что я попробовал:
if sudo false; then
if sudo true == false; then
if [!(sudo true)]; then
echo "Aborting script" >&2