gpt4 book ai didi

linux - 在 bash 脚本中验证输入

转载 作者:太空宇宙 更新时间:2023-11-04 10:53:49 24 4
gpt4 key购买 nike

我有一段代码可以通过给出宽度和高度来计算矩形的面积。

echo -n "Enter width: "
read width

echo -n "Enter height:"
read height

echo "Area of rectangle $(echo "$height*$width" | bc) sqcm"

如何才能只输入数字,否则显示错误?

最佳答案

由于您正在读取输入两次,我会使用一个函数来检查它。这样您就不会重复代码。

这会检查输入是否仅包含数字并且至少包含一个。否则,它会一直要求输入:

myread () {
while : # infinite loop
do
read value
[[ $value =~ ^[0-9]+$ ]] && echo "$value" && return #return value if good input
done
}

echo -n "Enter width: "
width=$(myread) #call to the funcion and store in $width

echo -n "Enter height: "
height=$(myread) #call to the funcion and store in $height

echo "Area of rectangle $(echo "$height*$width" | bc) sqcm"

关于linux - 在 bash 脚本中验证输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29647586/

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