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和它的工作原理。