Я хотел бы запустить команду в одной строке, которая сообщит мне, установлен ли флаг для изменения пароля пользователя при следующем входе в систему. Эта команда интерпретирует вывод и возвращает истину / ложь.

Если флаг PWMC НЕ установлен, я получаю метку даты, например:

pdbedit -L -v <USER.NAME> | grep "Password must change:"
> Password must change: Wed, 30 Oct 2013 08:54:01 CDT

Если флаг PWMC установлен, команда возвращает это:

pdbedit -L -v <USER.NAME> | grep "Password must change:"
> Password must change: 0

Итак, как мне составить команду, которая может быть запущена в одну строку, которая сообщит мне через утверждение true/false, что флаг PWMC установлен для данного пользователя?

Спасибо!

2 ответа2

0

Принимая «вернуть истину / ложь», чтобы обозначить эхо-строку "истина" или "ложь", тогда это следует сделать одним:

pdbedit -L -v "$USER_NAME" | if grep -Eq 'Password must change:\ +0'; then echo "true"; else echo "false"; fi
0

и как псевдоним ...

псевдоним checkpwd = '_(){pdbedit -L -v $ 1 | если grep -Eq "Пароль должен измениться:\ +0"; затем эхо "правда"; еще эхо "ложь"; фи}; _»

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .