因此,有人向我展示了如何使用条件来测试用户是否输入了密码输入。
我想进一步介绍他们的示例并使用循环(至少我认为这就是所谓的循环)。

这是他们的例子:

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

10-04 14:34