/ 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
test
Fra : Carsten


Dato : 11-03-08 15:06

Hvis jeg prøver at køre følgende script

#!/bin/sh
if [ -f /mappe/* ]; then
echo "Mappe er ikke tom"
fi

Giver det følgende resultat når der er mere end 1 fil

line 2: [: too many arguments

Hvordan gør jeg det rigtigt

Carsten

 
 
Klaus Alexander Seis~ (11-03-2008)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 11-03-08 15:44

Carsten skrev:

> Hvis jeg prøver at køre følgende script
>
> #!/bin/sh
> if [ -f /mappe/* ]; then
> echo "Mappe er ikke tom"
> fi
>
> Giver det følgende resultat når der er mere end 1 fil
>
> line 2: [: too many arguments
>
> Hvordan gør jeg det rigtigt

Det kan sikkert gøres på mange måder; nedenstående er én af dem:

#v+
   #!/bin/sh
   
   if [ -n "$(ls -A1 /mappe/)" ]; then
    echo 'Mappen er ikke tom'
   fi
#v-

PS: Upraktisk emnelinje, du der fandt dig!

Mvh,

--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/

Ukendt (11-03-2008)
Kommentar
Fra : Ukendt


Dato : 11-03-08 17:08

Klaus Alexander Seistrup skrev den 11-03-2008 15:44:

> PS: Upraktisk emnelinje, du der fandt dig!

Ikke værre end at oversætte "test.c" og undre sig over at det ikke gør
noget når det kører.
--
Thorbjørn Ravn Andersen "... plus... Tubular Bells!"

Klaus Alexander Seis~ (11-03-2008)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 11-03-08 18:10

Thorbjørn Ravn Andersen skrev:

>> PS: Upraktisk emnelinje, du der fandt dig!
>
> Ikke værre end at oversætte "test.c" og undre sig over
> at det ikke gør noget når det kører.

Næh, mnen er det ikke osse slemt nok?

Mvh,

--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/

Jørgen Heesche (11-03-2008)
Kommentar
Fra : Jørgen Heesche


Dato : 11-03-08 21:25

Carsten wrote:
> Hvis jeg prøver at køre følgende script
>
> #!/bin/sh
> if [ -f /mappe/* ]; then
> echo "Mappe er ikke tom"
> fi
>
> Giver det følgende resultat når der er mere end 1 fil
>
> line 2: [: too many arguments
>
> Hvordan gør jeg det rigtigt
>
> Carsten

if [ "$(ls mappe)" ]; then
echo "mappe er ikke tom"

else
echo "mappe er tom"

fi


--
Med venlig hilsen

Jørgen Heesche
mailto:heesche@webspeed.dk

Jørgen Heesche (11-03-2008)
Kommentar
Fra : Jørgen Heesche


Dato : 11-03-08 21:58

Jørgen Heesche wrote:
Carsten wrote:
>
>> Hvordan gør jeg det rigtigt
>>
>> Carsten
>
> if [ "$(ls mappe)" ]; then
> echo "mappe er ikke tom"
>
> else
> echo "mappe er tom"
>
> fi
>
>
"$(ls mappe)" bør være "$(ls -A mappe)"
Så får man også 'skjulte' filer med.
Option til ls skal være -A og ikke -a.
ls -a vil vise at mappen ikke er tom, selvom den reelt er tom-
ls -A vil ignorere ./ og ../

--
Med venlig hilsen

Jørgen Heesche
mailto:heesche@webspeed.dk

Carsten (12-03-2008)
Kommentar
Fra : Carsten


Dato : 12-03-08 09:50

Tak for det

Carsten

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

Månedens bedste
Årets bedste
Sidste års bedste