通过expect实现非交互式添加用户并设置密码
默认情况Linux添加用户需要等待New password:
提示在输入密码,无法通过一句命令直接添加用户并设置密码,这导致在Shell脚本中添加用户或者批量添加变得困难,我们可以通过expect自制一个非交互式的添加用户并设置密码的命令。
expect
expect是一直可执行工具,通过执行expect脚本来把shell交互的行为提前设置在expect脚本中。
如果没有安装expect,首先安装expect
1 | apt intall expect |
expect脚本主要有spawn
/expect
/send
三个命令 :
- spawn后面跟着会产生交互行为的命令
- expect后面是等待命令产生的交互提示
- send后面是等到交互提示后输入的字符
非交互添加用户脚本
1 | !/usr/bin/expect |
例如保存成 adduserwithpw.sh
,执行./adduserwithpw.sh user1 pass
就可以添加名为user1
密码为pass
的用户了。