Portál AbcLinuxu, 10. května 2025 04:15

Dotaz: bash - getopts

26.6.2007 18:05 Michal
bash - getopts
Přečteno: 1440×
Odpovědět | Admin
zdravim poradi mi nekdo jak zajistit prioritu v getopts? teda jestli to nejak vubec jde... potrebuji aby se nejprve provedl prepinac -f bez ohledu v jakem bude poradi....mam neco takoveho:

SOUBOR=/var/mail/$HOME

while getopts eEf: opt
   do
    case $opt in
     f) SOUBOR=$OPTARG;;
     e) zobrazMail;;
     E) statusMail;;
     ?) exit -1;;
    esac
   done

  shift $(($OPTIND-1))


jenze kdyz zadam:
./script -f nejaky_soubor -e tak pracuje spravne s "nejaky_soubor"
ale kdyz zadam
./script -e -f nejaky_soubor tak bohuzel pracuje s "/var/mail/$HOME" coz se mi samozrejme nelibi....
poradi nekdo?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.6.2007 18:36 thoger | skóre: 6
Rozbalit Rozbalit vše Re: bash - getopts
Odpovědět | | Sbalit | Link | Blokovat | Admin
Skuste najprv sparsovat argumenty a az potom volat prislusnu akciu. V casi e) a E) si teda len poznacite, co sa ma robit.
26.6.2007 21:53 Ash | skóre: 53
Rozbalit Rozbalit vše Re: bash - getopts
Odpovědět | | Sbalit | Link | Blokovat | Admin
Moc nechápu ale standardní postup je nejprve zpracovat opšny (např. si do lokálních proměnných uložit potřebné informace zapnuto/vypnuto/má_hodnotu) a pak už si na jejich základě můžete dělat co je libo.

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.