【问题标题】:Accept only input in a certain range in bash [duplicate]在bash中只接受一定范围内的输入[重复]
【发布时间】:2016-11-28 21:09:29
【问题描述】:

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

【问题讨论】:

标签: linux bash shell


【解决方案1】:
#!/bin/bash

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

echo "Got $input"

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

【讨论】:

  • 非常感谢@eddiem!
  • 您不需要正则表达式来执行此操作 - 使用 [[ $input == [0-9] ]] 的全局模式就足够了。
猜你喜欢
  • 2019-04-09
  • 1970-01-01
  • 1970-01-01
  • 2022-11-28
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多