我如何编写一个while循环,说明:当用户名在/ etc / passwd文件中时,执行(命令)?
我正在尝试使用诸如grep -q "^{usern}:" /etc/passwd
之类的命令,但我不确定如何将其作为while循环的条件。
答案 0 :(得分:3)
要遍历/etc/passwd
中的用户并对每个用户执行某些操作,请尝试以下操作:
cut -d: -f1 /etc/passwd | while IFS= read -r user
do
echo "$user"
# do something with $user
done
如果要检查/etc/passwd
中是否存在特定用户然后执行某些操作,请使用if语句:
if grep -q "^username:" /etc/passwd
then
# do something
fi