删除文件并提示用户做出决定

Deleting files and prompting user for his decision

printf "$(find "./RIT/"${neki_array["letnik"]}"" -name "*" )\n">> tmpfile
while IFS='' read -r line || [[ -n "$line" ]] ; do
      echo "Do you want to delete "$line"? y|Y or n|N" 
      read anwser
      if [ $anwser="y" ] || [ $anwser="Y" ] ; then
         rm -rf "$line"
      fi
done <tmpfile
rm -f tmpfile

这是我的代码。我想做的是将每个子文件夹或文本文件保存到名为 tmpfile 的临时文件中。完成后,我逐行阅读此文件并询问用户是否要删除它。问题是它会跳过用户输入和 if 语句并删除所有文件夹。

 printf "$(find "./RIT/"${neki_array["letnik"]}"" -name "*" )\n">> tmpfile
        while IFS='' read -r line || [[ -n "$line" ]] ; do
            echo "Do you want to delete "$line"? y|Y or n|N" 
            read anwser < /dev/tty
            case $anwser in
                y|Y)
                    rm -rf "$line";;
                *)
                    echo "You choose not to delete"
            esac
        done <tmpfile
        rm -f tmpfile

我使用了 < /dev/tty 并放置了一个 switch case 而不是 if 并且它起作用了。