sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #86038
Re: Bash-mystik - en l�g fundet.
> $ python
> Python 2.3.5 (#2, Feb 9 2005, 00:38:15)
> [GCC 3.3.5 (Debian 1:3.3.5-8)] on linux2
> Type "help", "copyright", "credits" or "license"
> for
> more information.
> >>> from os import *
> >>> files="\"01 januar.jpg\" \"02 februar.jpg\""
> >>> system("ls -l " + files)
> -rwxr--r-- 1 jhje jhje 1851234 Nov 26 14:43 01
> januar.jpg
> -rwxr--r-- 1 jhje jhje 1508347 Nov 26 14:43 02
> februar.jpg
> 0
> >>>
>
> C:\test>set FILES1="01 jan.jpg"
> C:\test>set FILES2="02 feb.jpg"
> C:\test>set FILES=%FILES1% %FILES2%
> C:\test>dir %FILES%
> Volume in drive C has no label.
> Volume Serial Number is 7F62-EDAA
>
> Directory of C:\test
>
> 2005-12-03 23:48 9 01 jan.jpg
>
> Directory of C:\test
>
> 2005-12-03 23:48 12 02 feb.jpg
> 2 File(s) 21 bytes
> 0 Dir(s) 228,491,264 bytes free
>
> C:\test>
>
> Udfordring: Skriv det lige så død-simpelt og
> lige-ud-ad-landevejen i et bash-script :-). Caveat:
> Mellemrum _skal_ beskyttes med dobbelt-pinger, så
> man
> må ikke bruge '\ ' inde i filnavnene :-). Man må ej
> heller bruge pipes.
Det kan faktisk lade sig gøre! Min gode ven og kollega
Peter Jansen viste mig følgende:
$ files='"01 januar.jpg" "02 februar.jpg"'
$ ls -l $files <-- Fejler naturligvis som før.
ls: "01: No such file or directory
ls: januar.jpg": No such file or directory
ls: "02: No such file or directory
ls: februar.jpg": No such file or directory
men så
$ eval ls -l $files
-rwxr--r-- 1 jhje jhje 1851234 2005-11-26 14:43 01
januar.jpg
-rwxr--r-- 1 jhje jhje 1508347 2005-11-26 14:43 02
februar.jpg
Så mit slide_show.sh kan skrives
#!/bin/bash
params=`for image in *.jpg; do echo "-zoom $1
\"$image\""; done;`
eval xview $params
Så min konklusion er vist bare at man skal huske at
bash ikke er et programmeringssprog og ja - Python vil
blive stadig mere populært herhjemme :-).
Mvh
-- Jan Holst
__________________________________________
Yahoo! DSL Something to write home about.
Just $16.99/mo. or less.
dsl.yahoo.com
References