用户列表中的Bash迭代

时间:2019-06-17 13:06:26

标签: bash sh

我想创建一个小的bash脚本,该脚本可以列出FreeBSD服务器上的用户。然后,它检查celery用户是否在列表中。如果为"yes",则什么也不做,但如果为"false",它将创建用户celery

这是我的初稿:

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

对吗?这是我第一次尝试bash脚本。 也许太pythonic了!

这是输出:

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

非常感谢您!

1 个答案:

答案 0 :(得分:2)

Bash全部涉及外部命令和正则表达式以及替换和管道。例如正在检查用户是否存在,正在检查/ etc / passwd中的每一行是否都以以:结尾的正确字符串开头。

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