Portál AbcLinuxu, 10. května 2025 08:56

Dotaz: bash, if, je větší než

6.5.2006 23:12 fakenickname | skóre: 42 | blog: fakeblog
bash, if, je větší než
Přečteno: 2289×
Odpovědět | Admin
Zdravíčko, je si tak hraju a stvořil jsem
#!/bin/bash
# Tenhle skript umí zmenšit fotky, který mu člověk nacpe.
# Při tom umí pomocí exif informace určit, zda je obrázek
# na šířku nebo na výšku a podle toho změní velikost.

while [ "$#" -ne 0 ]                 # Dokud nebudou zpracovány všechny vložené fotografie
do                                   # dělej:
  if [ `exif -t PixelXDimension "$1" |grep Value|head -n 1 |sed s/\ \ Value:\ //`  > `exif -t PixelYDimension "$1" |grep Value|head -n 1 |sed s/\ \ Value:\ //` ] # pokud je šířka obrázku větší než výška
   then                              # tak
    echo "Obrázek $1 je na šířku."   # napiš, že zpracovávaný obrázek je na šířku
#   convert $1 -resize 640x480 $1    # zmenši fotografii na 640x480 a ulož pod názvem originálu
  else                               # jinak (pokud se šířka fotografie nerovná 1200px)
    echo "Obrázek $1 je na výšku."   # napiš, že zpracovávaný obrázek je na výšku
#   convert $1 -resize 480x640 $1    # zmenši fotografii na 480x640 a ulož pod názvem originálu
  fi;shift                           # konec podmínky. shift zajistí po upravení všech fotografií správný konec programu
done                                 # ukončí cyklus while
Podmínka if nefunguje. Nevíte někdo, jak správně zapsat podmínku "je větší než"? 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

David Watzke avatar 6.5.2006 23:17 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: bash, if, je větší než
Odpovědět | | Sbalit | Link | Blokovat | Admin
if((5>1))
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
6.5.2006 23:20 fakenickname | skóre: 42 | blog: fakeblog
Rozbalit Rozbalit vše Re: bash, if, je větší než
dík ;-)
David Watzke avatar 6.5.2006 23:33 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: bash, if, je větší než
Odpovědět | | Sbalit | Link | Blokovat | Admin
A btw; raději $() než `` ;-) Je to hezčí.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
7.5.2006 01:02 fakenickname | skóre: 42 | blog: fakeblog
Rozbalit Rozbalit vše Re: bash, if, je větší než
jj, pravda, vypadá to líp
7.5.2006 00:40 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: bash, if, je větší než
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nebo
if [ "$prom1" -gt "$prom2" ]    # jestliže $prom1 je > než $prom2
viz. man test .
7.5.2006 01:03 fakenickname | skóre: 42 | blog: fakeblog
Rozbalit Rozbalit vše Re: bash, if, je větší než
thx, o tom 'test' sem vůbec nevěděl
7.5.2006 01:11 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: bash, if, je větší než
Příkaz test by mělo být to samé, co [ . Pokud si vzpomínám, byl jeden linkem druhýho. Ale teď v Gentoo koukám, že ne. Ale to je jedno. Příkaz test by měl být totožný s [ ] . Pokud se pletu, ať mě někdo opraví.
7.5.2006 00:54 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: bash, if, je větší než
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jenom ještě koukám na ten grep Value | head -n 1, to by mělo jít nahradit : grep -m 1 Value (alespoň u mne) a ten sed, to by možná šlo taky zjednodušit, ale už je pozdě ...

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.