В этом сценарии второе выражение echo ничего не делает.
#!/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;
Все остальные команды работают. Что я сделал не так?
Вы имеете его по много строкам, но имеете ;
.
Ваш сценарий должен быть похожим на это:
#! /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