Forum » Programiranje » [Bash] - težave z IF stavki
[Bash] - težave z IF stavki
R33D3M33R ::
Delam na neki skripti, ki pobere informacije iz datoteke po vrsticah in informacijo shrani v variablo EXTENSION
EXTENSION=${REALNAME#*.}
Ko dam:
echo $EXTENSION
mi vrne pravo končnico. Super.
Naredim IF stavek:
if [ "$EXTENSION" = 'ext' ]; then echo "ext"
elif [ "$EXTENSION" = 'nxt' ]; then echo "nxt"
else echo "Skipping ..."
fi
In rezultat je Skipping za vsako vrstico, čeprav echo da ext ali nxt. Hm
Preizkusil sem že vse mogoče od
[ $EXTENSION = 'ext' ]
[ $EXTENSION = "ext" ]
[ "$EXTENSION" = "ext" ]
[ "$EXTENSION"='ext' ]
[ "$EXTENSION"="ext" ]
itd.
Ne dela. Kaj delam narobe?
Hvala za pomoč!
EXTENSION=${REALNAME#*.}
Ko dam:
echo $EXTENSION
mi vrne pravo končnico. Super.
Naredim IF stavek:
if [ "$EXTENSION" = 'ext' ]; then echo "ext"
elif [ "$EXTENSION" = 'nxt' ]; then echo "nxt"
else echo "Skipping ..."
fi
In rezultat je Skipping za vsako vrstico, čeprav echo da ext ali nxt. Hm
Preizkusil sem že vse mogoče od
[ $EXTENSION = 'ext' ]
[ $EXTENSION = "ext" ]
[ "$EXTENSION" = "ext" ]
[ "$EXTENSION"='ext' ]
[ "$EXTENSION"="ext" ]
itd.
Ne dela. Kaj delam narobe?
Hvala za pomoč!
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:
Na spletu že od junija 2002 ;)
:(){ :|:& };:
R33D3M33R ::
-eq noče, ker niso integerji, == pa tudi ne dela
Dozdeva se mi, da bi bil lahko kriv kak new line znak. Kako pa rešim to?
Dozdeva se mi, da bi bil lahko kriv kak new line znak. Kako pa rešim to?
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:
Na spletu že od junija 2002 ;)
:(){ :|:& };:
Zgodovina sprememb…
- spremenil: R33D3M33R ()
mile ::
tole lepo deluje, -eq je pa res int operator... pazi na presledke v oglatih oklepajih
PS: če so problemi z #10 pa porezi z
tr -d \r
#!/bin/bash TEMP="bla" if [ $TEMP = "bla" ]; then echo "DA" else echo "NE" fi
PS: če so problemi z #10 pa porezi z
tr -d \r
Zgodovina sprememb…
- spremenil: mile ()
mile ::
oziroma sed
TEMP="bla\n" TEMP2=`echo -e $TEMP | sed 's/\n//g' ` if [ $TEMP2 = "bla" ]; then echo "DA" else echo "NE" fi
R33D3M33R ::
Ne boš verjel, ampak ti hudir noče delati
Koda je takale:
Fajl je pa navaden tekst file, kjer je vsaka vrstica vsebuje nekaj takega:
[Cache]
3A53DA9744D98F9D7353C1B201CA51AB=SkeletalChars.u
E7B55F9946192F0F8CB102B9C656707A=DoGKip.unr
.
.
.
Koda je takale:
#!bin/bash UTdir="/home/user/igre/ut" CacheDir="/home/user/.loki/ut/Cache" while read inputline do CODE=${inputline%=*} REALNAME=${inputline#*=} TMPEXTENSION=${REALNAME#*.} EXTENSION=`echo -e $TMPEXTENSION | sed 's/\n//g' ` if [ $EXTENSION == 'umx' ]; then echo "umx" elif [ $EXTENSION == 'uax' ]; then echo "uax" elif [ $EXTENSION == 'int' ]; then echo "int" elif [ $EXTENSION == 'u' ]; then echo "u" elif [ $EXTENSION == 'utx' ]; then echo "utx" elif [ $EXTENSION == "unr" ]; then echo "unr" else echo "Skipping ..." fi echo $EXTENSION done < $CacheDir/cache.ini
Fajl je pa navaden tekst file, kjer je vsaka vrstica vsebuje nekaj takega:
[Cache]
3A53DA9744D98F9D7353C1B201CA51AB=SkeletalChars.u
E7B55F9946192F0F8CB102B9C656707A=DoGKip.unr
.
.
.
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:
Na spletu že od junija 2002 ;)
:(){ :|:& };:
R33D3M33R ::
To je zato, ker je spodaj še echo $EXTENSION. Skipping ne bi smelo izpisati pri teh dveh primerih...
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:
Na spletu že od junija 2002 ;)
:(){ :|:& };:
mile ::
noup..tist sm jst vm vrgu
kdo ti zgenerira te fajle? dej jih za foro prej cez dos2unix pozen
kdo ti zgenerira te fajle? dej jih za foro prej cez dos2unix pozen
R33D3M33R ::
Fajl mi naredi Unreal Tournament. Sem ti poslal link na ZS.
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:
Na spletu že od junija 2002 ;)
:(){ :|:& };:
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Cron problemOddelek: Operacijski sistemi | 847 (673) | c3p0 |
» | bash skripta ki bere txtOddelek: Programiranje | 1104 (834) | Mike0 |
» | [bash] Sortiranje fotografij po datumuOddelek: Programiranje | 1450 (1011) | Mike0 |
» | [Bash] Preverjanje legalnosti potiOddelek: Programiranje | 1448 (1075) | piki12 |
» | Arhiviranje serverja s TAR - incremental in FTP na drugo lokacijo in email report - SOddelek: Operacijski sistemi | 1570 (1481) | Daedalus |