linux - bash中只接受一定范围内的输入

标签 linux bash shell

我正在编写一个快速 bash 脚本,我只想接受 0-9 之间的整数作为输入。我已经看过,但没有发现太多,所以如果答案存在于某处,我深表歉意。如果其他人有答案,我会删除该帖子。 谢谢

最佳答案

#!/bin/bash

while [[ 1 ]] ; do
    echo -n "Enter a number: "
    read input
    if [[ "$input" =~ ^[0-9]$ ]] ; then
        break
    fi
done

echo "Got $input"

请注意,此选项需要支持正则表达式的 bash。此外,它明确只允许单个整数,正如您在问题中所要求的那样。

关于linux - bash中只接受一定范围内的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40853538/

相关文章:

java - Java 命令行参数中的空格在 Amazon 云中引发错误

linux - SO_BINDTODEVICE 虚拟接口(interface)失败

c++ - C++ 中 atomic<uint64_t> 数据类型的格式说明符是什么?

bash - 通过 ssh 传输后 rsync 挂起

bash - 用于删除超过 n 天的目录的 Shell 脚本

bash - 将文件夹树中的所有 .pdf 文件转换为 .png

java - 使用 jdbc 从 Windows 计算机连接到 Linux 计算机上托管的 Oracle DB

linux - 构建 Qemu - 未知目标名称 'arm-softmmu'

bash - 如何在 Bash 中更改全局背景颜色

mysql - 将每个 mysql 记录(多行)存储为 bash 中的变量