$ip_choice
是否可以在不设置的情况下与数字进行比较?
#!/bin/bash
ip_choice=999
while ! (( $ip_choice <= 233 ))
do
read -p "Enter a valid IP (1-256): " ip_choice
done
它是这样工作的——只是我想知道是否有更优雅的可能性:-)。
最佳答案
#!/bin/bash
while read -r -p "Enter a valid IP (1-256): " ip_choice; do
(( ip_choice >= 1 && ip_choice <= 256 )) && break
done
echo "${ip_choice}"
$ ./t.sh
Enter a valid IP (1-256): -1
Enter a valid IP (1-256): 0
Enter a valid IP (1-256): 257
Enter a valid IP (1-256): abc
Enter a valid IP (1-256): 20
20
关于Bash 脚本,比较数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23079536/