[linux-l] shell skript probleme mit leerzeichen

Mike Dornberger Mike.Dornberger at gmx.de
So Okt 30 01:33:12 CEST 2005


Hi,

On Sat, Oct 29, 2005 at 09:09:56PM +0200, Schlomo Schapiro wrote:
> hier als kleine Anregung meine Version, genannt convert_picture_cd
> 
> #!/bin/bash
> shopt -s nocaseglob nullglob
> test $# -lt 2 && { echo Usage: $0 picture-dir target-dir ; exit ; }
> 
> trap 'test -e "$2/tmp.pnm" && rm -f "$2/tmp.pnm"' 0

hm, ist das "symlink-attack"-sicher?

> test -d "$2" || mkdir -p "$2"
> for k in "$1"/*.{jpg,jpeg} ; do 
>         djpeg -scale 1/2  "$k" >"$2/tmp.pnm"
>         echo -n "Converting $k "
>         l="$(basename "$k")" 

Müssen die Anführungszeichen um $k nicht gequotet werden? Wenn nein, warum
nicht. Was passiert, wenn $k selbst Anführungszeichen enthält?

>         l="${l%.*}"
>         cjpeg -smooth 10 <"$2"/tmp.pnm >"$2/$l".jpg
>         echo -n "| "
>         pnmrotate 90 <"$2"/tmp.pnm | cjpeg -smooth 10 >"$2/$l".left.jpg
>         echo -n "\\ "
>         pnmrotate -90 <"$2"/tmp.pnm | cjpeg -smooth 10 >"$2/$l".right.jpg
>         echo "/"
> done

Grüße,
 Mike



Mehr Informationen über die Mailingliste linux-l