질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

쉘 프로그래밍 파일 삭제에 대해 질문입니다.

작성자 정보

  • linuxOh 작성
  • 작성일

컨텐츠 정보

본문

파일을 삭제하거나 복원 , 하는 프로그래밍 인데요

옵션을 설정해서 파일을 삭제하는 것입니다.

junk [파일이름] 하면 .junk 폴더로 들어가게되고
junk -l : .junk 폴더에 파일리스트 출력
junk -p : .junk 폴더 비우기

-f 옵션을 주어서 .junk 디렉터리로 옮기지 않고 바로 삭제하는데,
이 옵션 뒤에는 파일리스트로 삭제하려고 합니다.

노란부분 추가하엿는데 error: 이부분이 계속 뜨는데..이유를 모르겟네요

 
#! /bin/csh
 
set fileList = ()
set listFlag = 0
set purgeFlag = 0
set fileFlag = 0
set rm = 0
set junk = ~/.junk

 
foreach arg($*)
   switch($arg)
      case "-p":
         set purgeFlag = 1
         breaksw
      case "-l":
         set listFlag = 1
         breaksw
      case "-f":
         set rm = 1
         set fileList = ($fileList $arg)
         breaksw
      case -*:
         echo $arg is an illegal option
         goto error
         breaksw
      default:
         set fileFlag = 1
         set fileList = ($fileList $arg) 
         breaksw
   endsw
end

 
@ total = $listFlag + $purgeFlag + $fileFlag + $rm 
if ($total != 1) goto error

if (!(-e $junk)) then
   mkdir $junk
endif
 
if ($listFlag) then
   ls -l $junk
   exit 0
endif

 
if ($purgeFlag) then
   rm $junk/*
   exit 0
endif
 
if ($fileFlag) then
   mv $fileList $junk
   exit 0
endif

if ($rm) then
   rm $fileList
   exit 0
endif
 
exit 0
 
error:
cat << ENDOFTEXT
Dear $USER, the usage of junk is as follows:
   junk -p means "purge all files"
   junk -l means "list junked files"
   junk <list of files> to junk them
ENDOFTEXT
exit 1

 

관련자료

댓글 1

장규승님의 댓글

  • 장규승
  • 작성일
rm은 시스템에서 사용하는 삭제 명령이므로
변수로 사용 할 수가 없는거죠.......

공지사항


뉴스광장


  • 현재 회원수 :  60,286 명
  • 현재 강좌수 :  36,934 개
  • 현재 접속자 :  285 명