Chcę zrobić coś takiego że przy odpaleniu skrypu muszę podać dwie opcje np -c -a
Pierwszy argument (c||a) odpowiednie narzędzie i dla nich (a || b || c || d ) czyli co ma się wykonać np a odczytuje, b zapisuje, d robi backup d przywraca backup.
Pierwsza cześć kodu się wykona (przy za komentowaniu drugiej cześci) ale przy a) wywala błąd.
getopts nie można zagnieżdżać? jak powinien wyglądać taki szkielet poprawnie?
while getopts ":ca" opt
do
case "${opt}" in
c)
while getopts ":abcd" opt2
do
case "${opt2}" in
e)
echo "ok -a"
;;
d)
echo "ok -b"
;;
k)
echo "ok -c"
;;
j)
echo "ok -d"
;;
*)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
a)
while getopts ":abcd" opt2
do
case "${opt2}" in
e)
echo "ok -a"
;;
d)
echo "ok -b"
;;
k)
echo "ok -c"
;;
j)
echo "ok -d"
;;
*)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
esac
done