sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #22096
Re: mellemrum i bash
Kanon det ser ud til at virke ret god. Tak for hjælpen
/Thomas
> Dit problem er, at $(ls) bliver ekspanderet først, hvorefter den samlede
> tekst deles op i ord. Derfor bliver dit filnavn med mellemrum i til to
> ord.
>
> En mulig løsning er at bruge
>
> ls | while read x; do echo $x; done
>
> Det vil læse en linie af gangen, dvs et filnavn, og echo'e den.
>
> Der findes selvfølgelig også den mere effektive version af ovenstående:
>
> ls
>
> :-)
>
> Thomas Larsen wrote:
> >
> > Hej,
> >
> > Jeg havde gang i at skrive et shellscript, men er gået i stå ved et
problem som jeg efter mange forsøg med alverdens programmer ikke har kunnet
finde ud af at omgå.
> > Det er i en for-løkke at problemet viser sig.
> >
> > for x in $(ls)
> > do
> > echo $x
> > done
> >
> > Hvis filerne indeholer et mellemrum bliver de cuttet i mellemrummet og
bliver delt over 2 variable.
> > Jeg synes efterhånden at jeg kan man-filen til bash udenad. Hvordan får
jeg en variabel til at indeholde en streng med et mellemrum i? Nogen der har
nogen erfaringer med den slags?
> >
> > /Thomas
>
> --
> René Seindal (rene@xxxxxxxxxx) http://www.seindal.dk/rene/
>
References