📜  用于验证整数输入的 Shell 脚本(1)

📅  最后修改于: 2023-12-03 15:11:18.321000             🧑  作者: Mango

用于验证整数输入的 Shell 脚本

在 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

可以看到,程序能够正确地验证用户输入的整数。如果用户输入的不是整数,则会不断提示用户重新输入,直到输入正确为止。