在bash中无限循环

时间:2017-02-13 08:19:09

标签: bash shell

option=n
while [ "$option" != "Y" -o "$option" != "y" ]
do
echo "Enter SIDNAME"
read SIDNAME

echo "Enter TNSALIAS"
read TNSALIAS

echo "Enter FQDN of the RDS"
read RDS

echo "Cofigration details provides as"
echo "SIDNAME : " $SIDNAME
echo "TNSALIAS: " $TNSALIAS
echo "FQDN of the RDS :" $RDS

echo "Do you want continue with this information? Enter y/n"
read option
done

如果用户输入除Y之外的任何东西,我会尝试实现这一点,然后循环重新运行,但即使我输入Y,这也是一个无限循环。

我知道我犯了一些愚蠢的错误。

非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

条件中您需要-a而不是-o。您希望在Yy时终止,即它应该在Y而不是y并且它不是[[时运行

此外,在bash中,您可以使用while [[ $option != [Yy] ]] 条件并使用右侧的模式:

macro_var+='TAG XPATH="//span[@class=\'updated\'][1]/a[1]" EXTRACT=TXT\n';