← Back to team overview

sslug-teknik team mailing list archive

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