Date: Tue, 2 Dec 2003 21:29:21 +0100 (CET) From: Claus Guttesen <none@cguttesen--yahoo.dk.lh.bsd-dk.dk> Subject: shell-scripts og mellem\ rum i filnavne To: bsd-dk@bsd-dk.dk
Hej.
Skal lave et shell-script i bourne-shell som kan sende
nogle filer over på en server.
Problemet er at nogle af filerne har mellemrum i
filnavnet, og det kan jeg ikke rigtig komme uden om.
Jeg har set en opskrift på hvor man kan while og
loope, men fandt ud af, at det svarer til 'ls -1' (ls
og minus tallet 1). Den viser alle filer på hver sin
linie. Så langt så godt.
Men når jeg lægger det i en variabel og skal lave en
filelist=`ls -1`
for filename in "$filelist"
do
identify "$filename"
done
så knækker filmen. Kommandoen inde i do/done er fra
ImageMagick-pakken, og jeg skal sende filen afsted,
hvis det er en grafik-fil.
Men identify får det forkerte argument, da for-løkken
sender brækker hele variablen op efter mellemrum, og
så bilver filen 'mellem rum.jpg' ligepludselig til
filerne 'mellem' samt 'rum.jpg'.
Dette kan godt løses i bl.a. perl, og sikkert i
python, men er der shell-sprog (meget apropos
ksh-introen) som er specielt lavet til den type
opgaver?
Jeg har prøvet med og uden "-tegn, og det virker bedst
med "-tegn. Men jeg kommer ikke i mål.
Hilsen
Claus
Yahoo! Mail (http://dk.mail.yahoo.com) - Gratis: 6 MB lagerplads, spamfilter og virusscan
This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:34 CET