Я написал сценарий оболочки (называемый Trash.sh), который при запуске отобразит все файлы в моей папке «мусорной корзины» и спросит пользователя, хотят ли они удалить каждый файл по одному. Сценарий выглядит следующим образом:
#if directory is empty, display message
if test ! -f ~/dustbin/*
then
echo "Directory is empty"
#if directory is not empty, then display each item and ask to delete
else
for resfile in ~/dustbin/* #for each file in directory, store it in resfile variable
do
if test -f $resfile ; then #if a file exists
echo "Do you want to delete $resfile?"
echo "Enter y or n"
read ans #store user input in ans variable
if test $ans = y ; then
rm $resfile
echo "File $resfile was deleted"
fi
fi
done
fi
Это прекрасно работает для меня. Когда пользователь вводит sh Trash.sh
, скрипт будет работать нормально, каждый файл будет отображаться, и пользователю будет предложено удалить его или нет. Однако я хотел бы добавить, что пользователь может набрать sh Trash.sh -a
и автоматически удалить все файлы в каталоге без подтверждения.
Я немного застрял в том, как этого добиться. Есть идеи?
ps - я использую Mac OS X 10.6.4 и делаю все через Terminal