Portál AbcLinuxu, 19. dubna 2024 08:49


Dotaz: porovnani retezcu v Bashi

4.8.2008 12:36 tascoa | skóre: 11
porovnani retezcu v Bashi
Přečteno: 531×
Odpovědět | Admin
potrebuji v podmince v bashi porovnat dva retezce, jeden mi vychazi na vystup z programu, druhy mam zadany implicitne. napr.
if (`program | cut slovo`=='porovnravanyetezec')
toto mi nefunguje, cut jsem zadal samozrejme pro ilustraci. poradite nekdo?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.8.2008 12:58 maleprase | skóre: 28
Rozbalit Rozbalit vše Re: porovnani retezcu v Bashi
Odpovědět | | Sbalit | Link | Blokovat | Admin
$ if [ `uname -s` = 'Linux' ]; then echo Linux; fi
Linux
GandY avatar 4.8.2008 13:04 GandY | skóre: 3 | blog: Zo života | Bratislava
Rozbalit Rozbalit vše Re: porovnani retezcu v Bashi
ešte by som to dal do úvodzoviek, pri reťazci nikdy nevieš ;)
$ if [ "`uname -s`" = 'Linux' ]; then echo Linux; fi
Viliam Púčik avatar 4.8.2008 12:59 Viliam Púčik | skóre: 22 | blog: minimal
Rozbalit Rozbalit vše Re: porovnani retezcu v Bashi
Odpovědět | | Sbalit | Link | Blokovat | Admin
if [ $(program | grep slovo) == "porovnavanyretezec" ]
then
    ...
fi
Pomohlo?
Viliam Púčik avatar 4.8.2008 13:01 Viliam Púčik | skóre: 22 | blog: minimal
Rozbalit Rozbalit vše Re: porovnani retezcu v Bashi
Ach, som pomaly, maleprase ma predpehlo ;-)
4.8.2008 12:59 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: porovnani retezcu v Bashi
Odpovědět | | Sbalit | Link | Blokovat | Admin
V bashi je to takto:
if [[ `program | cut slovo` == "porovnravanyetezec" ]]; then ...
viz. help \[\[ expression \]\]
4.8.2008 13:34 tascoa | skóre: 11
Rozbalit Rozbalit vše Re: porovnani retezcu v Bashi
Odpovědět | | Sbalit | Link | Blokovat | Admin
dekuji mockrat vsem, jede to skvele

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.