Не удается войти в систему после выключения, по-видимому, удалила мою учетную запись пользователя [duplicate]

|, который разделяет несколько альтернатив, является частью синтаксиса оболочки. Вы не можете получить его из строки: строка должна совпадать с символом | внутри.

Что вы можете сделать, это проверить, отображается ли имя службы как подстрока в списке разрешенных услуг, в окружении разделителей. Другими словами, проверьте, содержит ли список разрешенных служб службу в качестве подстроки. Поместите разделители вокруг имени службы в том случае, если оно является первым или последним в списке.

case "$1" in
  *\|*) echo 1>&2 "$0: Invalid service name: $1"; exit 2;;
esac
case "|$ALLOWED_SERVICES|" in
  *"|$1|"*) service "$1" restart;;
  *) echo 1>&2 "$0: Unknown or forbidden service: $1"; exit 2;;
esac
1
задан 13 February 2016 в 21:48

0 ответов

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

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