[英]How do I write a password using a bash script?
我正在尝试用4个树莓派构建一个树莓派集群。 我正在编写一个脚本以将新用户添加到系统,以便可以在所有4个Pi上添加该用户,而无需多次输入。 我使用的命令是adduser,我正在使用ssh将用户添加到所有4个Pi上。 这是脚本中该行的外观:
echo `ssh pi@10.10.10.13 "sudo adduser --shell /bin/bash user1"`
这是我用来添加新用户的行。 但是,此后的命令是我需要更改密码的地方。 如果我用
sudo passwd user1
在脚本中,对于每个Pi,它都会提示用户输入4次密码。 我不希望这种情况发生。 有什么方法可以使用户一次输入密码并将其存储在变量中并将其提供给passwd命令?
这是通过远程使用sudo
通过SSH执行许多命令的方法(如果不是以root
登录的情况):
#!/bin/bash
ssh user@host 'sudo bash -es' <<EOF
command 1
command 2
EOF
-e
表示“失败失败”(可选)。
-s
从STDIN读取。
(我尝试了一下,它似乎起作用了。)
编辑
我尝试使用-x
(我喜欢反馈),但是它使输出乱码,可能是因为STDIN和STDERR是“不同步”(可以用2>&1
“解决”)。
假设Pi上仍然没有“ useradd”,建议您开始研究adduser的命令行参数?
adduser <username> -p <password> ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.