📅  最后修改于: 2023-12-03 15:11:18.321000             🧑  作者: Mango
在 Shell 脚本中,我们经常需要验证用户输入的数据是否符合要求。针对整数输入,我们可以编写一个简单的 Shell 脚本来实现输入验证。
输入的字符串只有包含数字才能通过验证,否则会提示用户重新输入。我们可以使用 Shell 内置的 read
命令来获取用户输入,然后使用正则表达式进行匹配验证。
下面是一个简单的 Shell 脚本,用于验证用户输入的整数:
#!/bin/bash
while true
do
read -p "请输入一个整数: " input
if [[ "$input" =~ ^[[:digit:]]+$ ]]
then
echo "您输入的是整数 $input"
break
else
echo "输入无效,请重新输入!"
fi
done
该脚本使用了一个无限循环,用户如果输入的不是整数,则会不断提示用户重新输入,直到输入正确为止。
其中,read -p
命令用于打印提示信息并获取用户输入。[[ $input =~ ^[[:digit:]]+$ ]]
语句用于匹配输入的字符串是否只包含数字,如果是,则认为用户输入的是整数。如果匹配成功,则输出提示信息并跳出循环,否则输出错误信息,继续循环。
假设我们将上述脚本保存为 test.sh
,运行该脚本后,用户将会看到类似下面的提示信息:
$ ./test.sh
请输入一个整数: abc
输入无效,请重新输入!
请输入一个整数: 123
您输入的是整数 123
可以看到,程序能够正确地验证用户输入的整数。如果用户输入的不是整数,则会不断提示用户重新输入,直到输入正确为止。