Арабские цифры / даты, показывающие в разных местах

В сценариях оболочки нет оператора, а это !, но вы не используете его совершенно правильно.

Поместите пробел между оператором ! и его операндом и оставьте круглые скобки. Это должно работать для всех оболочек в стиле POSIX, включая bash и sh / dash.

if ! id $User > /dev/null 2>&1
then
    echo "This user does NOT exists.  Please create that user before using this script.\n"
    exit
fi

Вы можете использовать круглые скобки для группировки, если хотите, хотя в этом нет необходимости дело. Для выполнения выражения в скобках создается новая подоболочка. Оператор ! должен иметь пробел между ним и символом (. (Пространства вокруг самих скобок необязательны.)

if ! (id $User > /dev/null 2>&1)
then
    echo "This user does NOT exists.  Please create that user before using this script.\n"
    exit
fi

См. оболочки в стиле POSIX для некоторых хороших альтернатив и рекомендаций стиля. (Кроме того, благодаря Gilles для некоторых исправлений об использовании круглых скобок.)

1
задан 15 August 2015 в 08:27

0 ответов

Другие вопросы по тегам:

Похожие вопросы: