Portál AbcLinuxu, 10. května 2025 04:14
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.