/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
AND eller OR i Bash script
Fra : News


Dato : 12-08-05 19:50

Jeg vil gerne kunne have en IF sætning med flere udtryk. F.eks.

if [ $var1 -gt 1 ] AND [ "$var2" == "test" ]; then
echo "Hest"
fi

Jeg synes ikke at kunne finde en AND eller OR operator (heller ikke &&)?



 
 
Michael Rasmussen (12-08-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 12-08-05 19:57

On Fri, 12 Aug 2005 20:49:43 +0200, News wrote:

>
> if [ $var1 -gt 1 ] AND [ "$var2" == "test" ]; then
> echo "Hest"
> fi
>
if [ $var1 -gt 1 -a "$var2" == "test" ]; then
echo "Hest"
fi
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


News (12-08-2005)
Kommentar
Fra : News


Dato : 12-08-05 20:38

> if [ $var1 -gt 1 -a "$var2" == "test" ]; then
> echo "Hest"
> fi

Tak. Og -o for OR så. Det virker, tak

Hvad med komma tal så - ved du også hvordan man regner med det i et Bash
script?

Hvis jeg har denne udregning:
counter=$[ (10212 - 10001) / 100 ]

Så returnere den kun hel-tallet 2 og ikke 2,11
Hvordan får jeg den til at returnere det rigtige tal (2,11)?



Kent Friis (12-08-2005)
Kommentar
Fra : Kent Friis


Dato : 12-08-05 21:35

Den Fri, 12 Aug 2005 21:38:04 +0200 skrev News:
>> if [ $var1 -gt 1 -a "$var2" == "test" ]; then
>> echo "Hest"
>> fi
>
> Tak. Og -o for OR så. Det virker, tak
>
> Hvad med komma tal så - ved du også hvordan man regner med det i et Bash
> script?
>
> Hvis jeg har denne udregning:
> counter=$[ (10212 - 10001) / 100 ]
>
> Så returnere den kun hel-tallet 2 og ikke 2,11
> Hvordan får jeg den til at returnere det rigtige tal (2,11)?

Bash kan ikke regne med kommatal. Så er du nødt til at bruge dc eller
bc.

Mvh
Kent
--
Hard work may pay off in the long run, but lazyness pays off right now.

Martin Hansen (15-08-2005)
Kommentar
Fra : Martin Hansen


Dato : 15-08-05 11:06

Kent Friis wrote:
> Bash kan ikke regne med kommatal. Så er du nødt til at bruge dc eller
> bc.
zsh kan hvis man presser den lidt

~%echo $[(15/3)]
5
~%echo $[(16/3)]
5
~%echo $[(16.0/3)]
5.333333333333333


--
Med venlig hilsen/mojn/regards
Martin Hansen
Center for Software Innovation
Stenager 2, DK-6400 Sønderborg, Web: www.cfsi.dk

Kasper Dupont (13-08-2005)
Kommentar
Fra : Kasper Dupont


Dato : 13-08-05 10:13

News wrote:
>
> Jeg vil gerne kunne have en IF sætning med flere udtryk. F.eks.
>
> if [ $var1 -gt 1 ] AND [ "$var2" == "test" ]; then
> echo "Hest"
> fi
>
> Jeg synes ikke at kunne finde en AND eller OR operator (heller ikke &&)?

Det her virker for mig:

if [ $var1 -gt 1 ] && [ "$var2" == "test" ]; then
echo "Hest"
fi

Man skal dog lige være opmærksom på, at det virker
kun hvis var1 faktisk indeholder et tal.

--
Kasper Dupont
Note to self: Don't try to allocate
256000 pages with GFP_KERNEL on x86.

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste