2. 再去读取上述文件中的信息
while IFS=',' read -r userid name
这个还是蛮有技巧的。read会自动读取读取.csv文本文件的下一行内容,不需要再写一个循环来处理。
read返回false时(就是读取完了)while就会退出,妙哉。
代码如下:
1 #!/bin/bash
2 # shell add user account
3 input="users.csv"
4 while IFS=',' read -r userid name # 读取里面的数据,IFS要设为逗号
5 do
6 echo "adding id:$userid name:$name"
7 useradd -c "$name" -m $userid
8 done < "$input"
执行需要sudo权限。
13.9.2 再删除创建的用户代码如下:
1 #!/bin/bash
2 # xcy test, del user
3 IFS=$'\n'
4 for user in $(cat /etc/passwd)
5 do
6 # echo "$user"
7 IFS=:
8 for value in $user
9 do
10 if [[ $value == xiaochongyong* ]] # 这个*有点通配符的意思
11 then
12 echo "Userid: $value"
13 userdel $value
14 fi
15 break
16 done
17 done
注意那个break,因为/etc/passwd第一条就是userid,这里读取完userid就退出当前循环。