hos*_*fik 6 bash debian passwd
我正在使用Debian。我正在学习 Bash 脚本。我正在创建一个脚本来创建新用户并设置密码,问题是我收到passwd: unrecognized option '--stdin'错误
那是我的脚本:
#!/bin/bash
read -p "Please Enter Your Real Name: " REAL_NAME
read -p "Please Enter Your User Name: " USER_NAME
useradd -c "${COMMENT}" -m ${USER_NAME}
read -p "Please Enter Your Password: " PASSWORD
echo ${PASSWORD} | passwd --stdin ${USER_NAME}
passwd -e ${USER_NAME}
Run Code Online (Sandbox Code Playgroud)
在 Debian 10 @ Docker 镜像上进行测试
echo -e "badpass\nbadpass" | passwd urname
Run Code Online (Sandbox Code Playgroud)
这将在 /bin/bash 中工作,而不是在 /bin/sh 中
echo "urname:badpass" | chpasswd
Run Code Online (Sandbox Code Playgroud)
这将在 /bin/sh 和 /bin/bash 中工作
没有--stdin选择,您需要用引号保护您的变量。
这是一个工作版本:
#!/bin/bash
read -p "Please Enter Your Real Name: " REAL_NAME
read -p "Please Enter Your User Name: " USER_NAME
useradd -c "${COMMENT}" -m ${USER_NAME}
read -p "Please Enter Your Password: " PASSWORD
echo -e "$PASSWORD\n$PASSWORD" |passwd "$USER_NAME"
passwd -e ${USER_NAME}
Run Code Online (Sandbox Code Playgroud)