Portál AbcLinuxu, 19. dubna 2024 02:19


Dotaz: parametry bash

1.5.2010 20:45 nobody
parametry bash
Přečteno: 367×
Odpovědět | Admin
Ahoj

chci vzit parametry z prikazovy radky to bude samostatne nebo ve skupinach

napr. bude -a -b -c a na a nebo provest neco rozdilenho na b a neco rozdilneho na c.

potom, 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 b nevite jak to osetrit aby my v tom case skocilo rovnou na ab

ted to mam takto

while getopts "3:m:j:ya:" opt ; do case "$opt" in

Dekuji
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.5.2010 21:18 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: parametry bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
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 b
To 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č.
I am always ready to learn although I do not always like to be taught. (W. Churchill)
1.5.2010 21:31 nobody
Rozbalit Rozbalit vše Re: parametry bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj diky za radu

musis ten priklad udelat podle zadani

delam program vlastni program cal a ten ma takto prepinace nastavene

1.5.2010 22:06 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: parametry bash
musis ten priklad udelat podle zadani
Co 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
I am always ready to learn although I do not always like to be taught. (W. Churchill)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.