Я делаю сценарий, который принимает варианты, и два из них: -s
и -e
. -s
требует указать дату начала и дату окончания и дату окончания и дату окончания, но я хочу сделать так, чтобы никто не мог быть использован без другого. Другими словами, если я использую опцию -s
, также требуется опция -e
и наоборот.Как мне выбрать вариант, требующий другого варианта?
Вот мой код до сих пор
#!/bin/bash
gflag=false
uflag=false
sflag=false
eflag=false
rflag=false
nflag=false
tflag=false
while getopts g:u:s:e:rnt opt; do
case "$opt" in
g)
gflag=true
groupParam=$OPTARG
echo "-g was triggered, Parameter: $OPTARG" >&2
;;
u)
uflag=true
userParam=$OPTARG
echo "-u was triggered, Parameter: $OPTARG" >&2
;;
s)
sflag=true
startParam=$OPTARG
echo "-s was triggered, Parameter: $OPTARG" >&2
;;
e)
eflag=true
endParam=$OPTARG
echo "-e was triggered, Parameter: $OPTARG" >&2
;;
r)
rflag=true
echo "-r was triggered" >&2
;;
n)
nflag=true
echo "-n was triggered" >&2
;;
t)
tflag=true
echo "-t was triggered" >&2
;;
esac
done
Как я могу изменить свой код, чтобы быть в состоянии сделать это?
Спасибо, что работал отлично. Мне было интересно, есть ли в getopts встроенный способ, но это отлично работает. – mackdiogo