Thread Bash to Perl Umsetzung (42 answers)
Opened by kezall at 2014-03-25 09:45

betterworld
 2014-03-26 00:20
#174428 #174428
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Wer schreibt denn so fürchterlichen Bash-Code überhaupt?

Code: (dl )
for i in $(ls *.png) ...

Das ist ziemlich redundant und schlechter Stil. Man kann sich das ganze "ls" sparen:
Code: (dl )
for i in *.png ...

Das tut dasselbe. Dabei spart man sich noch einen ganzen Haufen von Problemen, weil der erste Code nämlich komplett austicken würde, wenn die Dateinamen mal bestimmte Sonderzeichen enthalten (Whitespace, Wildcards, je nach Locale auch noch Umlaute o.ä.)

Ls ist ein Programm, was darauf optimiert ist, dass das Output von Menschen gelesen wird. Daher wird es auch so hübsch in Zeilen und/oder Spalten ausgegeben. Je nach Betriebssystem kann es auch mal komplett anders aussehen.. Solaris z.B. hat ein ziemlich anderes "ls" als Linux (GNU). Und den ganzen Ärger kann man sich so gut wie immer sparen, weil man meiner Erfahrung nach immer sehr leicht darum herum kommt, das Output parsen zu müssen.

Disclaimer: Wenn es keine png-Datei im Verzeichnis gibt, würde ich keine der beiden obigen Varianten empfehlen.

PS: Kommt das Bashscript aus Gentoo?

View full thread Bash to Perl Umsetzung