shell限制只能输入范围内数字

1,081 阅读1分钟

bash环境,只能输入10-99

#!/bin/bash

while true; do

read -p "Enter a number between 10 and 99 as sn: " number
[[ $number =~ ^[0-9]+$ ]] || { echo "error, please enter a valid number"; continue; }
  
if ((number >= 10 && number <= 99)); then
        echo "##############"
        echo "ok, valid number"
        echo $number
    break
else
    echo "number out of range, try again"
fi

done

sh环境,只能输入10-99

#!/bin/sh

while true; do

read -p "Enter a number between 10 and 99 as sn: " number
expr $number + 1 &> /dev/null
if [ $? -ne 0 ];then
        echo "error, please enter a valid number!"
        continue
fi

if [[ $number -ge 10 && $number -le 99 ]]; then
	echo "##############"
        echo "ok, valid number"
        echo "$number    
    break
else
    echo "number out of range, try again"
fi

done