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

问题描述 投票:0回答:1
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语句并删除所有文件夹。

bash rm
1个回答
0
投票
 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和它的工作原理。

© www.soinside.com 2019 - 2024. All rights reserved.