Avatar billede baastrup Nybegynder
19. april 2002 - 14:49 Der er 16 kommentarer og
1 løsning

Ksh. csh [if else then]!

hej

Hvordan bruger man if sætninger under ksh og csh?

hvis der er nogen der har nolge gode sider omkring shell programmering ud over sslug.dk vil jeg meget gerne se dem :-)

på forhånd tak
Avatar billede skau Nybegynder
19. april 2002 - 14:59 #1
if [ det ene = det andet ]
then
  noget
else
  noget andet
fi
Avatar billede skau Nybegynder
19. april 2002 - 14:59 #2
Avatar billede skau Nybegynder
19. april 2002 - 15:00 #3
du kan også bruge elif
Avatar billede baastrup Nybegynder
19. april 2002 - 15:00 #4
sætter = ikke bare en var?
jeg trode kun man måtte bruge -eq eller ==
Avatar billede peter_m Nybegynder
19. april 2002 - 15:01 #5
ksh
if [ "$#" -eq 2 ]
then
  cp $1 $2
else
  echo skal bruge 2 arguementer
fi

i csh bruger du ikke [] men måske test

if test "$1" != "y"
  then
    echo parem 1 var ikke y
fi
Avatar billede skau Nybegynder
19. april 2002 - 15:02 #6
Den her er rigtig god ;o)
http://www.bolthole.com/solaris/ksh.html
Avatar billede baastrup Nybegynder
19. april 2002 - 15:04 #7
det er min if sætning

if [ "$yesno" -eq "y" ] then
        echo "Indtast ønskede Hovdeaccount navn: \c"
read newuser
fi
Avatar billede skau Nybegynder
19. april 2002 - 15:08 #8
ja der er mange feks.
-eq  (equal to)
-ne  (not equal to)
-gt  (greater than)
-ge  (greater than or equal)
-lt  (less then)
-le  (less or equal)

og hvis du tester på filer er der:
-s
-r
-w
-x
-f
-d
-c
-b
-p
-u
-g
-k

skriv hvis du vil have det forklaret dybere

[ ] kan normalt byttes ud med test
Avatar billede skau Nybegynder
19. april 2002 - 15:10 #9
orv jeg glemte mit eksempel
str1 = str2    the two strings are equal
str1 != str2    the two strings are not equal
-z string      String length is 0
-n string      String length greater then 0
Avatar billede skau Nybegynder
19. april 2002 - 15:11 #10
I din if sætning skal du benytte = og ikke -eq   
da du vil sammenligne strenge ;o)
Avatar billede skau Nybegynder
19. april 2002 - 15:12 #11
if [ "$yesno" = "y" ] then
        echo "Indtast ønskede Hovdeaccount navn: \c"
read newuser
fi
Avatar billede baastrup Nybegynder
19. april 2002 - 15:24 #12
skal jeg have "" omkring variablen og y?
Avatar billede baastrup Nybegynder
19. april 2002 - 15:32 #13
syntax error at line 19 : `fi' unexpected
får jeg med følgende
if [ $yesno = y ] then
        echo "Indtast ønskede Hovdeaccount navn: \c"
read newuser
fi
Avatar billede skau Nybegynder
19. april 2002 - 15:56 #14
du mangler et ;
if [ "$yesno" = "y" ]; then
        echo "Indtast ønskede Hovdeaccount navn: \c"
read newuser
fi

Og ja du skal have ""
Avatar billede baastrup Nybegynder
22. april 2002 - 09:14 #15
hmm hvordan gøres det i csh?

jeg trode det var det samme
Avatar billede skau Nybegynder
22. april 2002 - 13:09 #16
Csh er meget anderledes - da det er en c shell ... sådan her kan du gøre det ... De forrige eksempler gik på sh eller ksh.

#!/usr/bin/csh
set yesno = $1
if ( "$yesno" == "y" ) then
echo "hshd"
endif
Avatar billede skau Nybegynder
22. april 2002 - 13:10 #17
Jeg fandt den her Csh side
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester