《Linux命令行与shell脚本编程大全》第十三章 更多的结构化命令 (4)

《Linux命令行与shell脚本编程大全》第十三章 更多的结构化命令

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就退出当前循环。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzxxjj.html