Bash итерация из списка пользователей - PullRequest
0 голосов
/ 17 июня 2019

Я хотел бы создать небольшой скрипт bash, который позволял бы выводить список пользователей на моих серверах FreeBSD. Затем он проверяет, есть ли в списке celery пользователь. Если "yes", ничего не делать, но если "false", он создает пользователя celery.

Это мой первый черновик:

alias list_users = 'cut -d: -f1 /etc/passwd'
if "celery" in list_users:
    :
else:
    sudo adduser celery

Это правильно? Это моя первая попытка сценариев bash. Это может быть слишком питонно!

Это вывод:

alias: list_users: not found
alias: =: not found
alias: cut -d: -f1 /etc/passwd: not found

Большое спасибо!

1 Ответ

2 голосов
/ 17 июня 2019

Bash - это все о внешних командах, регулярных выражениях, подстановках и конвейерах. Ex. проверяет, существует ли пользователь, проверяет, начинается ли каждая строка в / etc / passwd правильной строкой, заканчивающейся :.

if ! grep -q '^celery:' /etc/passwd; then
    sudo adduser celery
fi
...