Portál AbcLinuxu, 9. listopadu 2025 04:13
ale kdyz zadam -ab nebo -bc, tak chci aby se my provedlo neco jineho, zkousel sem getopt a potom case, ale to my hazelo nejdriv na a a potom na bTo je standardní chování, kdy lze více přepínačů sloučit. Pokud má
-a -b dělat něco jiného než -ab je to u Unixového skriptu dost na pováženou (protože to nikdo nebude čekat).
Pokud na tom trváte, možná to půjde obejít přes getopt -a (nikoliv getopts) a zavést „dlouhou“ volbu ab.
Rozhodně ale stojí za zvážení přidat úplně jinak pojmenovaný přepínač.
musis ten priklad udelat podle zadaniCo prosim? A podíval jste se alespoň na ten
getopt? Tohle dělá, to co chcete nebo ne?
for o in `getopt -a -l ab -o ab -- "$@"`; do
case $o in
--ab) echo "AB";;
-a) echo "A";;
-b) echo "B";;
esac;
done
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.