事前に TIA にお問い合わせください。これはコースワークなので、さらに読んでいただければ幸いです。
基本的に、bash で 3 つのスクリプトを作成する必要があります。私の作成のディレクトリ(〜/ごみ)にファイルを「削除」するためのもの。もう 1 つは必要に応じて復元し、3 番目は完全に削除します。
私はゴミ箱スクリプトにちょっとこだわっています。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 、最初のブランチをスキップして2番目のブランチを一見問題なく実行しますが、 ls ~/rubbish すると、すべてのファイルがまだそこにあります。
編集助けてくれてありがとう!スプートニク、えーと、セミコロンを追加する以外に、コメントで何が変更されたのか本当にわかりませんでしたか? そしてinductiveLoad、あなたの答えはエースでしたが、私はそれを適切に機能させる方法を見つけることができず、忍耐力を失い、基本的なものになりました. そのようです....
#!/bin/bash
if [ "$1" = "-a" ] ;
then
cd ~/rubbish;
rm ~/rubbish/*;
echo "All files have been deleted";
else
rm -i ~/rubbish/* ;
fi