linux - 预定义范围内的 Shell 变量值

标签 linux bash shell scripting

我想要一个变量,其值应该在已经定义的范围内。

例如

变量 DAY=$1

应该只获取周一、周二、周三、周四、周五、周六、周日的值。

如果用户输入其他内容,它不会接受。

我知道我可以通过定义数组或通常存储所有日期的变量来做到这一点,然后在“for or while”循环中检查变量 DAY。

但我想要没有循环的最简单的方法。

提前致谢。

最佳答案

使用扩展的 glob 支持来精确匹配选项列表中的一个。

range="Mon|Tue|Wed|Thu|Fri"
read day
if [[ $day = @($range) ]]; then
    echo "$day is valid"
else
    echo "$day is not valid"
fi

关于linux - 预定义范围内的 Shell 变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26750172/

相关文章:

bash - 为什么 **find** 找不到任何东西?

bash - AWK FS 多重分隔符包括修剪前导和尾随空格

linux - 将一个二进制文件的部分 stdout 输出替换为另一个二进制文件的输出的 unix 命令是什么?

java - 将windows bat文件翻译成linux shell脚本

arrays - 使用 for 循环的数组不计算元素 Bash

linux - 由于端口 8443 问题导致 IPA 服务器安装失败

c++ - GTK : How to set the Height of a VBox?

linux - 为什么 cron 没有运行 xte?

linux - 显示两个不同文件中的重复行

Bash:非法变量名错误