TIA 사전에 도움을 요청하십시오. 이것은 더 많은 독서가 항상 감사하게 될 교과 과정입니다!Linux 쉘 스크립트 삭제/복원/휴지통
기본적으로 나는 bash에 3 개의 스크립트를 작성해야합니다. 하나는 파일을 내 생성 디렉토리 (~/쓰레기)로 '삭제'하는 것입니다. 필요할 경우 복원하고 복원하고 영구적으로 삭제할 수 있습니다.
나는 휴지통에 다소 붙어 있습니다. ls가 아직 거기에있는 모든 파일을 보여주기 때문에 실제로는 아무 것도 삭제하지 않는 것처럼 보입니다. 나는 또한 사용자가 한번에 모두 휴지통에 추가 한 플래그 (-a)에 문제가있어, 발견되지 않은 경우 발견 된 각 파일에 대한 확인을 요청해야합니다. 난 그냥 지금있는 곳 여기
는 -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
내가 말했듯이 ...이고, 그것은 때 LS 첫 번째 분기를 건너 뛰고 두 번째 겉으로 잘 통해 실행하지만, ~/쓰레기 모든 파일이 아직 있습니다.
EDIT 도움 주셔서 감사합니다! 스푸트니크, 음, 세미콜론을 추가하는 것 외에 다른 의견에서 변경된 사항을 실제로 볼 수 없었습니다. 그리고 inductiveLoad, 당신의 대답은 에이스지만, 나는 제대로 작동하는 방법을 찾지 못했습니다, 인내심을 잃었 기본을 갔다.
#!/bin/bash
if [ "$1" = "-a" ] ;
then
cd ~/rubbish;
rm ~/rubbish/*;
echo "All files have been deleted";
else
rm -i ~/rubbish/* ;
fi
이'#/빈/bash는 일을 시도;! 경우 [ "$ 1"= "-a"] 다음, CD ~/쓰레기, RM ~/쓰레기;에서 mkdir ~/쓰레기, 모든 파일 "에코 삭제 된 "; 다른; CD ~/쓰레기, LS는> 쓰레기, 할; '고양이 쓰레기'라인을위한 에코?"삭제 하시겠습니까? " $ 라인 「Y/N "에코; Y | Y) RM을 $ 라인 ;;; N | N) '';;; ESAC;의 경우"ANS "; ANS를 판독 할; 숙제 일반적 fi' –