编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码,脚本执行报错: command not found

编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默认的 111111 作为默认密码。

while :
do
read -p "请输入用户名:" username

使用 -z 可以判断一个变量是否为空

如果没有输入退出后,$?返回的状态码为2

if [ -z ${username} ]
then
echo "您没有输入用户名,即将退出!"
sleep 3
exit 2
else
echo "您输入的用户名是:${username}"
read -p "请输入密码:" password

使用-n 表示其后面的字符串长度非0则为真

** [ -n ${password} ] && useradd ${username} -p ${password};echo "创建成功,${username},${password}";exit 0 || useradd ${username} -p 111111;echo "创建成功,${username},111111";exit 0**
fi
done

执行报错:

img


帮忙看下标斜体加粗部分哪里有错?

[ -n ${password} ] && useradd ${username} -p ${password}&&echo "创建成功,${username},${password}" || useradd ${username} -p 111111||echo "创建成功,${username},111111"&&exit 0
你使用这样一连串的逻辑运算符其实很不严谨,不如加if或者try语句