[Flug] shell programmierung

Jan-Benedict Glaw jbglaw at lug-owl.de
Do Jul 15 16:12:45 CET 2010


On Thu, 2010-07-15 14:12:46 +0200, Lars Hennig <l at rs-hennig.de> wrote:
> Am Donnerstag 15 Juli 2010 schrieb Arno Steffens:
> 
> for f in `find . -type f`; do ...

Just for the records:

jbglaw at jblaptop:/tmp/test$ mkdir dir1
jbglaw at jblaptop:/tmp/test$ touch "`printf 'dateiname\nmit\nzeilenumbruch und leerzeichen'`"
jbglaw at jblaptop:/tmp/test$ touch "`printf 'dir1/xxxx dateiname\nmit\nzeilenumbruch und leerzeichen'`"
jbglaw at jblaptop:/tmp/test$ for f in `find . -type f -a ! -name '*.md5'`; do md5sum "$f" > "${f}.md5"; done
md5sum: ./dir1/xxxx: No such file or directory
md5sum: dateiname: No such file or directory
md5sum: mit: No such file or directory
md5sum: zeilenumbruch: No such file or directory
md5sum: und: No such file or directory
md5sum: leerzeichen: No such file or directory
md5sum: ./dateiname: No such file or directory
md5sum: mit: No such file or directory
md5sum: zeilenumbruch: No such file or directory
md5sum: und: No such file or directory
md5sum: leerzeichen: No such file or directory



Ergo: Wenn man for-Schleifen nutzt, sollte man die Liste nicht via
`find` oder `ls | grep ...` o.ä. zusammenbauen, sondern nur das
Globbing der shell nehmen und ggf. im Schleifenrumpf dann testen, daß
man gerade keine Datei bearbeitet, die man nicht haben wollte. Man
weiß ja nie, was für Gemeinheiten fremde User einem versteckt haben.

MfG, JBG

-- 
      Jan-Benedict Glaw      jbglaw at lug-owl.de              +49-172-7608481
Signature of:          GDB has a 'break' feature; why doesn't it have 'fix' too?
the second  :
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 197 bytes
Beschreibung: Digital signature
URL         : <http://lug-freiburg.de/pipermail/flug/attachments/20100715/a19ea981/attachment.bin>


Mehr Informationen über die Mailingliste Flug