用一条命令批量添加用户(不能用循环)

Posted yizhangheka

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用一条命令批量添加用户(不能用循环)相关的知识,希望对你有一定的参考价值。

面试题:

用一条命令添加zhanghe01,zhanghe02,zhanghe03,zhanghe04,zhanghe05,使用固定密码cba-123。

解答

第一步:生成用户
[root@centos7 ~]# echo zhanghe{01..05}
zhanghe01 zhanghe02 zhanghe03 zhanghe04 zhanghe05
[root@centos7 ~]# echo zhanghe{01..05} | tr ‘ ‘ ‘
‘
zhanghe01
zhanghe02
zhanghe03
zhanghe04
zhanghe05
[root@centos7 ~]# echo zhanghe{01..05} | xargs -n1
zhanghe01
zhanghe02
zhanghe03
zhanghe04
zhanghe05
第二步:生成命令	
[root@centos7 ~]# echo zhanghe{01..05} | xargs -n1 | sed -r ‘s@(.*)@useradd 1;@g‘
useradd zhanghe01;
useradd zhanghe02;
useradd zhanghe03;
useradd zhanghe04;
useradd zhanghe05;
[root@centos7 ~]# echo zhanghe{01..05} | xargs -n1 | sed -r ‘s@(.*)@useradd &;@g‘
useradd zhanghe01;
useradd zhanghe02;
useradd zhanghe03;
useradd zhanghe04;
useradd zhanghe05;
[root@centos7 ~]# echo zhanghe{01..05} | xargs -n1 | sed ‘s#.*#useradd &;#g‘
useradd zhanghe01;
useradd zhanghe02;
useradd zhanghe03;
useradd zhanghe04;
[root@centos7 ~]# echo zhanghe{01..05} | xargs -n1 | sed ‘s#.*#useradd &;echo cba-123 | passwd --stdin &#g‘
useradd zhanghe01;echo cba-123 | passwd --stdin zhanghe01
useradd zhanghe02;echo cba-123 | passwd --stdin zhanghe02
useradd zhanghe03;echo cba-123 | passwd --stdin zhanghe03
useradd zhanghe04;echo cba-123 | passwd --stdin zhanghe04
useradd zhanghe05;echo cba-123 | passwd --stdin zhanghe05
第三步:交给bash
[root@centos7 ~]# echo zhanghe{01..05} | xargs -n1 | sed ‘s#.*#useradd &;echo cba-123 | passwd --stdin &#g‘ | bash
更改用户 zhanghe01 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 zhanghe02 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 zhanghe03 的密码 。
passwd:所有的身份验证令牌已经成功更新。
更改用户 zhanghe04 的密码 。

  

以上是关于用一条命令批量添加用户(不能用循环)的主要内容,如果未能解决你的问题,请参考以下文章

linux实战考试题:批量创建用户和密码(不能使用循环)

sqlserver关于用一个sql语句批量添加数据的问题

用一条insert 插入多行数据的方法

用一条insert 插入多行数据的方法

如何在sql里用一条T-SQL命令查看数据库所有表内容

我想用一条SQL给一个表中添加1000条数据,怎么写这样的SQL