有循環的 Bash 腳本不回顯

有循環的 Bash 腳本不回顯

在此腳本中,第二個 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; 

所有其他命令都有效。我做錯了什麼?

答案1

您已經通過多行獲得了它,但是擁有;.

您的腳本應如下所示:

#! /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

相關內容