嘿,所以我有一些代码可以解决下面的问题,但我被卡住了它不起作用,我真的不知道我在做什么。
此脚本应删除垃圾箱目录的内容。如果使用 -a 选项,脚本应该从垃圾箱中删除所有文件。否则,脚本应将垃圾箱中的文件名一一显示,并要求用户确认是否应将其删除
#!/bin/sh
echo " The files in the dustbin are : "
ls ~/TAM/dustbin
read -p " Please enter -a to delete all files else you will be prompted to delete one by one : " filename
read ans
if ["filename" == "-a"]
cat ~/TAM/dustbin
rm -rf*
else
ls > ~/TAM/dustbin
for line in `cat ~/TAM/dustbin`
do
echo "Do you want to delete this file" $line
echo "Y/N"
read ans
case "ans" in
Y) rm $line ;;
N) "" ;;
esac
编辑版本
if test ! -f ~/TAM/dustbin/*
then
echo "this directory is empty"
else
for resfile in ~/TAM/dustbin/*
do
if test -f $resfile ; then
echo "Do you want to delete $resfile"
echo "Y/N"
read ans
if test $ans = Y ; then
rm $resfile
echo "File $resfile was deleted"
fi
fi
done
fi
但是,这可行现在我得到两个错误之一
第 4 行需要二元运算符或第 4 行:对许多参数