Portál AbcLinuxu, 12. května 2025 05:07

Dotaz: přepínač case

3.5.2011 11:48 amby
přepínač case
Přečteno: 201×
Odpovědět | Admin
řeším takový problém, udělal jsem si menu, něco jako:
1 - Jméno
2 - Přijimení
3 - Telefon

Vyber možnost:
Rád bych zadal např. Přijimení , a po zadání se vrátil zpět na tuto nabídku, kde už by se vypsalo:
Jméno:
Přijimeni: Moje přijimeni
Telefon:

1 - Jméno
2 - Přijimení
3 - Telefon

Vyber možnost:
Prostě udělat nějaké funkční menu, mezi kterým bych si mohl takhle přepínat. Jak to nejlépe vyřešit? dumám nad tím,děkuji,
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.5.2011 11:57 amby
Rozbalit Rozbalit vše Re: přepínač case
Odpovědět | | Sbalit | Link | Blokovat | Admin
no asi jsem to udělal podmínkou until
3.5.2011 12:25 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: přepínač case
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nehodilo by sa použiť dialog(1)?
dialog --form Zadejte 30 50  3 \
Jmeno 1 1 "" 1 10 10 0  \
Prijmeni 2 1 "" 2 10 10 0 \
Telefon 3 1 "" 3 10 10 0 \
2> zadanedata.txt 
Emch avatar 3.5.2011 22:12 Emch | skóre: 4 | blog: Machal
Rozbalit Rozbalit vše Re: přepínač case
Odpovědět | | Sbalit | Link | Blokovat | Admin
while true;
do echo -e "\nVyberte možnost:\n1 - Jméno\n2 - Přijmení\n3 - Telefon";
read inp;
case $inp in 1 ) read jmeno;; 2 ) read prijmeni;; 3) read telefon;; esac;
echo -e "Jméno: $jmeno\nPříjmení: $prijmeni\nTelefon: $telefon";
done

Jestli sem to správně pochopil, tak by mělo fungovat tohle ;)

Je to tak jednoduchý, že to zvládne i fotbalista.
4.5.2011 11:34 kukin
Rozbalit Rozbalit vše Re: přepínač case
díky,všem, jinak mám to podobně, akorát že to ošetřuji until [$promena = "0"]
4.5.2011 08:09 Ash | skóre: 53
Rozbalit Rozbalit vše Re: přepínač case
Odpovědět | | Sbalit | Link | Blokovat | Admin
Celkem se na to hodí select:
jmeno=""
prijmeni=""
mobil=""

PS3="Zadejte číslo: "
select volba in Jméno Příjmení "Mobilní telefon" Konec; do
  echo "$volba"
  case "$volba" in
    Jméno)
      read jmeno
      ;;
    Příjmení)
      read prijmeni
      ;;
    "Mobilní telefon")
      read mobil
      ;;
    Konec)
      break
      ;;
  esac
  printf "Jmeno: %s\nPříjmení: %s\nMobilní telefon: %s\n" "$jmeno" "$prijmeni" "$mobil"
done

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.