Bash-Skript mit Schleife gibt kein Echo aus

Bash-Skript mit Schleife gibt kein Echo aus

In diesem Skript bewirkt die zweite Echo-Anweisung nichts.

     #!/bin/bash

echo "Start folder create..."
find . -name "*.zip" | while read filename; do
 foldername="${filename%.*}";
 mkdir -p "$foldername";

 mv "$filename" "$foldername";
echo "made directory $foldername" ;
done; 

Alle anderen Befehle funktionieren. Was habe ich falsch gemacht?

Antwort1

Du hast es über mehrere Zeilen, aber hast das ;.

Ihr Skript sollte folgendermaßen aussehen:

#! /bin/bash

echo "Start folder create..."
find . -name "*.zip" | while read filename; do

  foldername="${filename%.*}"
  mkdir -p "$foldername"    
  mv "$filename" "$foldername"
  echo "made directory $foldername"
done

verwandte Informationen