gpt4 book ai didi

bash - 如何检查数字是否在shell中的范围内

转载 作者:行者123 更新时间:2023-11-29 08:53:14 25 4
gpt4 key购买 nike

我只想在两个值之间插入数字,否则脚本会重复直到数字正确。

这是我的脚本,它不能正常工作:

validation(){
read number
if [ $number -ge 2 && $number -ls 5 ]; then
echo "valid number"
break
else
echo "not valid number, try again"
fi

}

echo "insert number"
validation
echo "your number is" $number

最佳答案

如果您使用的是 Bash,最好使用算术表达式 ((...))为了可读性和灵 active :

if ((number >= 2 && number <= 5)); then
# your code
fi

循环读取直到输入有效数字:

#!/bin/bash

while :; do
read -p "Enter a number between 2 and 5: " number
[[ $number =~ ^[0-9]+$ ]] || { echo "Enter a valid number"; continue; }
if ((number >= 2 && number <= 5)); then
echo "valid number"
break
else
echo "number out of range, try again"
fi
done

((number >= 2 && number <= 5))也可以写成((2 <= number <= 5)) .


另见:

关于bash - 如何检查数字是否在shell中的范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50521798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com