Shell 脚本实现自动修改 Linux 用户密码

Linux 系统下通过 passwd 命令修改密码会进入交互模式,此时系统会等待用户输入。如果我们不希望进入交互模式,通过脚本或者文件自动完成输入,或者通过接收到的参数完成输入操作,如此就能省去人工输入。结合EOF就能完美解决这个问题,下面通过自动化修改 pure-FTPd 用户密码的脚本 passwd.sh 实例来说明。

#!/bin/bash

# $1 $2 分别代表执行此脚本时的第一和第二个参数
/usr/local/pureftpd/bin/pure-pw passwd $1 <<EOF
$2
$2
EOF
/usr/local/pureftpd/bin/pure-pw mkdb

按如下格式执行脚本:
/bin/bash passwd.sh ftpuser1 ftppassword

如果需要隐藏命令提示文字(标准输出),可添加 >/dev/null 2>&1,具体如下:

#!/bin/bash

# $1 $2 分别代表执行此脚本时的第一和第二个参数
/usr/local/pureftpd/bin/pure-pw passwd $1 <<EOF >/dev/null 2>&1
$2
$2
EOF
/usr/local/pureftpd/bin/pure-pw mkdb

标签: pureftpd, EOF, shell, 交互模式

添加新评论