我正在编写一个 bash 脚本,它可以按时间间隔进行过滤,也可以不进行过滤。我如何case
它们,所以如果“from”参数存在并且“to”参数不存在,那么它将执行仅过滤第一个参数的函数。例如:myscript.sh --从 18:00 --到 20:00
我尝试了以下方法:
#!/bin/bash
FROM_TIME_ARGUMENT=$1
FROM_TIME=$2
TO_TIME_ARGUMENT=$3
TO_TIME=$4
FILTER_TIME()
{
#... i don't know
}
FILTER_TIME
我一直在为它写案例。
最佳答案
你想要的是 getopt 函数。请参阅“man getopt”或谷歌搜索。
while getopts ab: ooptdo
case $oopt in
a) var1=1;;
b) var2=$OPTARG;;
esac
done
将逐步介绍您的选项“-a -b xyz”。
关于linux - 如何 'case' 一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19353889/