Używam ostatnio getopts i wszystko ustawiłem. Mam jednak problem. Chcę go do pracy tak, że jeśli ktoś nie wejdzie argument w linii poleceń, dostają tekst pomocy, np .:Jak wyświetlić tekst pomocy, jeśli żadne argumenty nie są przekazywane
$ ./script
$ help: xyz - argument must be used.
Oto co mam w tej chwili.
#!/bin/bash
function helptext {
# ...
}
function mitlicense {
# ...
}
while getopts "hl" opt; do
case $opt in
h) helptext >&2
exit 1
;;
l) mitlicense >&2
exit 0
;;
\?) echo "Invalid option: -$OPTARG" >&2
exit 1
;;
:) echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
*) helptext >&2
exit 1
;;
esac
done
Dziękuję też panu! – user2298964
Jest to poważny przypadek, ale warto wspomnieć: twoja uwarunkowana wartość również jest prawdziwa, jeśli "$ 1" minęło, ale jako _tyty ciąg_; np. "./script" "i" ./script "" foo "nadal wyświetlają tekst pomocy. – mklement0