linux 从--stdin输入密码

一、linux 从–stdin输入密码

for name in xp wrg lct
do
useradd $name
echo red | passwd --stdin $name
done

解释:passwd --stdin n a m e 是 更 改 name是更改 namename变量的密码,$name变量指代上面for循环的三个用户xp ,wrg, lct
加上–stdin是接受echo后面的字符串(red)做为密码,密码是red

二、Ubuntu不能使用passwd的–stdin的解决办法

所以可以echo username:newoasswd | chpasswd
username是用户名,newpasswd是新密码。值得注意的是echo后面不要忘了加引号把用户名和新密码引起来
最后说一个事情,目前发现Ubuntu的16.1系统没有–stdin和/etc/rc.local,所以建议大家初学Linux不要用Ubuntu。

ubuntu脚本自动输入sudo密码

不管用哪种方法sudo后面都有用到参数-S,这个参数是让sudo从标准输入流读取而不是终端设备**。

1 使用echo和管道命令

#!/bin/bash
echo password | sudo -S service runtime* status

2 使用文本块输入重定向

#!/bin/bash
sudo -S service talend-runtime* status<<EOF
password
EOF

你可能感兴趣的:(linux)