Portál AbcLinuxu, 14. května 2025 04:09

Dotaz: Bash skript - uprava retezce a podminka

5.5.2008 15:23 toxin | skóre: 6
Bash skript - uprava retezce a podminka
Přečteno: 613×
Odpovědět | Admin
Ahoj. Jsem uplny novacek ve psani skriptu (tohle je muj druhy :) ). Potrebuji nasledujici. Pokud ja pocet mailu ve front (mailq) vetsi nez 100 tak restartuj stroj. Napsal jsem tohle, ale podminka je vzdycky splnena :(. Poradi nekdo?
mailq >> soubor.txt
promenaA=`tail -n 1 soubor.txt | cut -d ' ' -f5`
echo $promenaA

if [ $promenaA > 100 ]
  then
   # shutdown -r now
   echo reboot!
  else
    echo OK
fi
Díky.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.5.2008 15:29 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Bash skript - uprava retezce a podminka
Odpovědět | | Sbalit | Link | Blokovat | Admin

Nahraď zobáček -gt (tj. if [ $promenaA -gt 100 ]; then ... -- teď tam totiž probíhá nějaké (hodně podezřelé) přesměrování do souboru 100 (a mrkni se do man test).

I am always ready to learn although I do not always like to be taught. (W. Churchill)
5.5.2008 15:39 toxin | skóre: 6
Rozbalit Rozbalit vše Re: Bash skript - uprava retezce a podminka
Moc ti dekuji :)! Uz to funguje. Prikaz test prostuduji. Diky.
5.5.2008 15:33 frantisek | skóre: 11
Rozbalit Rozbalit vše Re: Bash skript - uprava retezce a podminka
Odpovědět | | Sbalit | Link | Blokovat | Admin
to znaménko ">" v podmínce nahraď "-gt". srov. reference

při porovnávání dvou řetězců nebo čísel jsou užity naprosto jiné značky než obvyklé "<",">","=".

5.5.2008 15:34 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Bash skript - uprava retezce a podminka
Odpovědět | | Sbalit | Link | Blokovat | Admin
Předpokládám, že výstup z mailq je takový, že co řádek soubor.txt, to jeden mail ve frontě.
Potom by bylo nejjednodušší asi toto:
mailq > soubor.txt
promennaA=`wc -l soubor.txt`
if [[ "$promennaA" -qt 100 ]]; then ...
5.5.2008 17:23 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Bash skript - uprava retezce a podminka
promennaA=`mailq | wc -l`
7.5.2008 18:53 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Bash skript - uprava retezce a podminka
Nebo v minimalistickém řešení tohle: :-)
[ "`mailq | wc -l`" -gt "100" ] && shutdown -r now

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.