因此,有人向我展示了如何使用条件来测试用户是否输入了密码输入。
我想进一步介绍他们的示例并使用循环(至少我认为这就是所谓的循环)。
这是他们的例子:
read -s -p "Enter new password: " NEWPASS
if test "$NEWPASS" = ""; then
echo "Password CAN NOT be blank re-run sshd_config"
exit 1;
fi
我希望退出脚本而不是退出脚本,直到有输入为止。
我想发表这样的声明,但我做错了:
(现在使用顶部示例)
用户有机会输入新密码并填写变量值。
read -s -p "Enter new password:" NEWPASS
echo ""
下一部分将检查变量以查看其是否包含值,而该值为null时,它将请求用户无限期填充该值。 ( 一个循环)
while [[ -z "$NEWPASS" ]]; do
echo ""
echo "Password CAN NOT be blank"
echo ""
read -s -p "Enter new password:" NEWPASS;
echo ""
done
该行搜索一个文件,该文件包含另一个文件使用的一组变量。然后,它在文件中搜索包含PASS =。*(。*表示任何含义)的行,然后写入PASS = $ NEWPASS($ NEWPASS是变量)
sed -i -e"s/^PASS=.*/PASS=$NEWPASS/" /etc/sshd.conf
谢谢您的所有帮助,我将使用它并从中学习。
最佳答案
这个while循环应该工作:
while [[ -z "$NEWPASS" ]]
do
read -s -p "Enter new password: " NEWPASS
done