第1题:
编写一个shell脚本,完成批量添加100个用户的任务。 用户名为user001、user002......user100 密码统一设置为“123456”
分析题目:由于添加的用户名采用统一格式,因此可使用“USER00+数字”的方式实现,其中前缀USER00由用户手动输入,后缀的数字可通过循环逐次递增;因为用户名和密码相同,可在创建用户后,使用代表用户名的变量为用户设置密码;此外需对命令的执行情况进行判断,若密码设置失败,应给出提示。脚本实现如下:#!/BIN/BASH#ADDUSERSECHO "-----ADD 9 USERS-----"ECHO "PLEASE INPUT A STRING:"READ USERFOR I IN {1..9}; DO USERNAME=$USER$I IF USERADD $USERNAME > /DEV/NULL; THEN ECHO "$USERNAME" | PASSWD --STDIN $USERNAME IF [ $? -EQ 0 ]; THEN ECHO "ADD $USERNAME SUCCESSFUL" ELSE ECHO "$USERNAME ADDED, CHANGE PASSWORD FAILURE " FI ELSE ECHO "ADD $USERNAME FAILURE " FI DONE执行脚本,脚本的执行结果如下,其中输入的前缀为QWE:-----ADD 9 USERS-----PLEASE INPUT A STRING:QWE更改用户 QWE1 的密码 。PASSWD: 所有的身份验证令牌已经成功更新。ADD QWE1 SUCCESSFUL更改用户 QWE2 的密码 。PASSWD: 所有的身份验证令牌已经成功更新。ADD QWE2 SUCCESSFUL更改用户 QWE3 的密码 。PASSWD: 所有的身份验证令牌已经成功更新。ADD QWE3 SUCCESSFUL更改用户 QWE4 的密码 。PASSWD: 所有的身份验证令牌已经成功更新。ADD QWE4 SUCCESSFUL更改用户 QWE5 的密码 。PASSWD: 所有的身份验证令牌已经成功更新。ADD QWE5 SUCCESSFUL更改用户 QWE6 的密码 。PASSWD: 所有的身份验证令牌已经成功更新。ADD QWE6 SUCCESSFUL更改用户 QWE7 的密码 。PASSWD: 所有的身份验证令牌已经成功更新。ADD QWE7 SUCCESSFUL更改用户 QWE8 的密码 。PASSWD: 所有的身份验证令牌已经成功更新。ADD QWE8 SUCCESSFUL更改用户 QWE9 的密码 。PASSWD: 所有的身份验证令牌已经成功更新。ADD QWE9 SUCCESSFUL附:SHELL脚本中对空格要求比较严格,若脚本运行失败,可先检测代码中是否有多余空格。