我是 bash 脚本的新手。我写了一段代码,它将根据用户输入的操作系统和软件版本下载软件。我的代码需要再次循环,直到用户提供正确的 os 位数(64 或 32)和正确的软件版本
。如果条件满足,它应该执行并继续下一行。
echo 'Enter the OS-Bit'
read osbit
echo 'Enter the Software Version To Install'
read software_version
这是我的完整代码
if [ $osbit == "64" ];then
os_version="x86_64"
cd $directoy_path; curl -L -O https://myblog/downloads/software-$software_version-$os_version.rpm
elif [ $osbit == "32" ];then
os_version="i686"
cd $directoy_path; curl -L -O https://myblog/downloads/software-$software_version-$os_version.rpm
else
echo 'Please enter valid os bit #'
fi
rpm -vi $software_version-$os_version.rpm
echo 'Download Completed'
echo Installing $software_version
rpm --install $directoy_path/dfg-$software_version-$os_version.rpm
最佳答案
您可以将条件置于无限循环中, 并在输入正确时跳出它:
echo 'Enter the Software Version To Install'
read software_version
while true; do
echo 'Enter the OS-Bit'
read osbit
if [ "$osbit" == "64" ];then
os_version="x86_64"
break
elif [ "$osbit" == "32" ];then
os_version="i686"
break
else
echo 'Please enter valid os bit #'
fi
done
cd "$directoy_path" && curl -L -O "https://myblog/downloads/software-$software_version-$os_version.rpm"
关于bash - 循环代码直到用户输入成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47801295/