提前 TIA 寻求帮助。这是课程作业,因此我们非常感谢您进一步阅读!
基本上我必须在 bash 中编写 3 个脚本。一个将文件“删除”到我创建的目录(~/rubbish)。如果需要,另一个可以恢复它,另一个可以永久删除它。
我有点卡在我的垃圾脚本上。它似乎并没有真正删除任何东西,因为 ls 显示所有文件仍然存在。我也遇到了我为用户添加的标志(-a)一次性全部丢弃的问题,如果没有,那么它应该要求确认找到的每个文件。
这就是我现在所在的地方...
#!/bin/bash
if [ "$1" = "-a" ]
then
cd ~/rubbish
rm ~/rubbish
mkdir ~/rubbish
echo "All files have been deleted"
else
cd ~/rubbish
ls > rubbish
for line in 'cat rubbish'
do
echo "Do you want to delete?" $line
echo "Y/N"
read ans
case "ans" in
Y|y ) rm $line;;
N|n ) " ";;
esac
done
fi
正如我所说,它没有看到 -a ,它跳过第一个分支并运行第二个似乎很好,但是当我 ls ~/rubbish 时,所有文件仍然存在。
编辑感谢您的帮助!Sputnik,erm 除了添加分号之外,真的看不出您在评论中所做的更改?而inductiveLoad,你的答案是王牌,但我找不到正确工作的方法,失去了耐心,变得超级基本。像这样......
#!/bin/bash
if [ "$1" = "-a" ] ;
then
cd ~/rubbish;
rm ~/rubbish/*;
echo "All files have been deleted";
else
rm -i ~/rubbish/* ;
fi