У меня есть сценарий bash, который следует использовать для удаления определенного пользователя, если он существует в группе.
Сначала я извлек все имена групп и сохранил их в файл. В качестве следующего шага я подумал, что мне следует проанализировать файл и использовать команду ldapsearch для всех записей и выполнить поиск пользователя, а если он существует, использовать ldapmodify для его удаления.
Мой вопрос в том, как написать условие if, то есть if [ *ldapsearch query* == True];then
Вот как выглядит мой ldapsearch, и первая строка внутри цикла while должна быть оператором if
.
while read grp;do
ldapsearch -w 'ldappass' -D "cn=adminuser,dc=some-domain,dc=com" -b "cn=$grp,ou=group,dc=some-domain,dc=com" | grep $someuser
done</home/someuser/tempfile.txt
В интерфейсе командной строки этот запрос ldapsearch возвращает следующие выходные данные;
memberUid: testuser
По сути, если оператор if
возвращает какое-то значение (т. е. пользователь существует), то я должен удалить пользователя. Как мне получить правильный оператор if
, чтобы получить результат True или False для запроса ldapsearch?