NN: asi to nebude uplne "clean solution" ale funguje to
nebude to fungovat vo viacerych situaciach:
test.sh -p "priezvisko"
test.sh -p "priezvisko" -m "meno"
Na spracovanie vstupu sa da pouzit napr.:
meno=""
priez=""
while [ $# -gt 0 ]; do
case "$1" in
"-m") meno="$2"; shift;;
"-p") priez="$2"; shift;;
*) echo "Chybny prepinac!!!"; exit 1;;
esac
shift
done
echo "Meno: $meno";
echo "Priezvisko: $priez";
Spracovanie zoznamu uz treba riesit individualne (podla toho ako je vytvoreny). Spravne by sa malo meno hladat iba v menach, ...
Nezabudnite vo vsetkych vyskytoch davat premenne (meno, priez) do uvodzoviek - aby to fungovalo aj ked uzivatel zada meno/priezvisko s medzerou.
Druha moznost je riesit cez
getopts - vid medzitym poslane riesenie od Kita
meno=""
priez=""
while getopts "m:p:" opt
do
case "$opt" in
"m") meno="$OPTARG";;
"p") priez="$OPTARG";;
*) echo "Chybny prepinac!!!"; exit 1;;
esac
done
shift $((OPTIND-1))
echo "Meno: $meno";
echo "Priezvisko: $priez";
echo "Zvysne parametre (nie prepinace): $@"
Tato moznost dovoli zapisat prepinac aj spolu s parametrom, napr.
-mTomas a kontroluje ci nie je zadany neznamy prepinac.