bash [if -e *.TIF -> [: too many arguments

Wenn man in bash in einer if [ -e Schleife nach einem Wildcardeintrag sucht, bekommt man immer die Fehlermeldung [: too many arguments. Hintergrund ist, dass -e immer nur ein Argument verarbeiten kann und nicht mit Wildcards umgehen kann. Der Workaround dafuer ist:

files=$(ls *.TIF 2> /dev/null | wc -l)
if [ "$files" != "0" ] ; then
  for i in *.TIF; do
    mv $i ${i/\.tif/\.TIF};
  done
fi

Gefunden habe ich die Loesung bei MDLog:/sysadmin

prego

/me... prego!

Ein Gedanke zu „bash [if -e *.TIF -> [: too many arguments“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.