/ 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
simpelt shell spørgsmål
Fra : Kim Emax


Dato : 28-10-03 17:39

Hey

Jeg sidder og prøve at lave nogle praktiske shell scipts, og kan ikke få
noget _meget_ simpelt til at virke.

../test.sh

skal returnere meddelsen "Usage: directory"

Det jeg prøver er:

if(!$1) # har også prøvet med if !$1
then echo "usage: directory"

har googled rundt, men det lader til at være så simpelt at ingen gider
skrive om det Har prøvet med if(! -e $1), same shit

Er der en forbarmende sjæl?

--
Take Care
Kim Emax - master|minds: http://www.masterminds.dk
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



 
 
Kent Friis (28-10-2003)
Kommentar
Fra : Kent Friis


Dato : 28-10-03 18:05

Den Tue, 28 Oct 2003 17:38:34 +0100 skrev Kim Emax:
>Hey
>
>Jeg sidder og prøve at lave nogle praktiske shell scipts, og kan ikke få
>noget _meget_ simpelt til at virke.
>
>./test.sh
>
>skal returnere meddelsen "Usage: directory"
>
>Det jeg prøver er:
>
>if(!$1) # har også prøvet med if !$1
> then echo "usage: directory"
>
>har googled rundt, men det lader til at være så simpelt at ingen gider
>skrive om det Har prøvet med if(! -e $1), same shit
>
>Er der en forbarmende sjæl?

if [ -z "$1" ]
then
echo "usage: $0 directory" 2>&1
fi

- Man bruger [] eller "test" for at lave sammenligninger.
- -z = zero length (man test)
- $0 = navn på scriptet.
- 2>&1 = send fejlmelding på standard error.
- fi = shell'sk for endif.

Mvh
Kent
--
You haven't seen _multitasking_ until you've seen Railroad
Tycoon II and Unreal Tournament run side by side

Kim Emax (29-10-2003)
Kommentar
Fra : Kim Emax


Dato : 29-10-03 23:47

Kent Friis wrote:

> if [ -z "$1" ]
> then
> echo "usage: $0 directory" 2>&1
> fi
>
> - Man bruger [] eller "test" for at lave sammenligninger.
> - -z = zero length (man test)
> - $0 = navn på scriptet.
> - 2>&1 = send fejlmelding på standard error.
> - fi = shell'sk for endif.

Super, det spiller...

tak for dine fifs, $0 og if fi havde jeg fanget

--
Take Care
Kim Emax - master|minds: http://www.masterminds.dk
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Leo Laursen (28-10-2003)
Kommentar
Fra : Leo Laursen


Dato : 28-10-03 18:06

Kim Emax <newsgroup@remove-emax.dk>:
> ./test.sh
> skal returnere meddelsen "Usage: directory"
> if(!$1) # har også prøvet med if !$1
> then echo "usage: directory"

Hvad med:

if [ -z "$1" ]
then
echo "usage: directory"
fi

Eller:

[ -z "$1" ] || echo "usage: directory"

Leo
--
You should all JUMP UP AND DOWN for TWO HOURS while I decide on a NEW CAREER!!

Leo Laursen (28-10-2003)
Kommentar
Fra : Leo Laursen


Dato : 28-10-03 18:41

Leo Laursen <ll_news@stofanet.dk>:
> if [ -z "$1" ]
> then
> echo "usage: directory"
> fi

> Eller:

> [ -z "$1" ] || echo "usage: directory"

Ups, der gik det galt med logikken
Den sidste version skulle have været

[ -z "$1" ] && echo "usage: directory"
eller
[ -n "$1" ] || echo "usage: directory"

Jeg må vist hellere holde mig til "iffi"

Leo
--
Satire is what closes Saturday night.
      -- George Kaufman

Jacob Bunk Nielsen (28-10-2003)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 28-10-03 18:08

"Kim Emax" <newsgroup@remove-emax.dk> writes:

> Det jeg prøver er:
>
> if(!$1) # har også prøvet med if !$1
> then echo "usage: directory"

Prøv med:

!/bin/sh

if [ -e $1 ]
then
echo "Usage: $0 <directory>"
fi

.... eller noget i den retning. Check evt. test(1).

--
Jacob - www.bunk.cc
I'm so broke I can't even pay attention.

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste