Używanie getopts wewnątrz funkcji Bash
Chciałbym użyćgetopts
wewnątrz funkcji, którą zdefiniowałem w moim .bash_profile. Chodzi o to, że chciałbym przekazać niektóre flagi tej funkcji, aby zmienić jej zachowanie.
Oto kod:
function t() {
echo $*
getopts "a:" OPTION
echo $OPTION
echo $OPTARG
}
Kiedy wzywam to w ten sposób:
t -a bc
Dostaję to wyjście:
-a bc
?
Co jest nie tak? Chciałbym uzyskać wartośćbc
bez ręcznego przesuwania i parsowania. Jak używaćgetopts
poprawnie wewnątrz funkcji?
EDIT: poprawiłem mój fragment kodu, aby spróbować $ OPTARG, bezskutecznie
EDYCJA # 2: OK okazuje się, że kod jest w porządku, moja powłoka była w jakiś sposób popsuta. Otwarcie nowego okna rozwiązało problem. Wartość arg była rzeczywiście w $ OPTARG.