앞으로 자주 쓸 것 같은 스크립트 기록용 게시글입니다. (저는 쉘스크립트 초심자)
맥 OSX 에서 사용한 코드 입니다.
.sh로 저장하여 사용하고 터미널 말고 파인더에서 사용시에는 .command 로 저장해야 합니다.
코드는 맥에서 열었던 언리얼 프로젝트를 클린하기(모바일 빌드 파일들)
이거 하는 이유 : Xcode에서 프로젝트 클린이 제대로 안되서...
#!/bin/bash
cd "`dirname "$0"`" # Move Directory
#asign direcotry list
DELETETARGET="Intermediate/Build/Android/
Intermediate/Build/iOS/
Binaries/Android/
Binaries/IOS/"
echo
for vdir in $DELETETARGET
do # start for loop
if [[ -d $vdir ]] #directory check
then
echo "$vdir is Exist"
rm -r $vdir # delete directory
echo "===Delete $vdir===="
else
echo "$vdir isn't Exist"
fi
done # end for loop
echo end
exit 0
#!bin/bash 로 시작해야 스크립트가 실행되고..
그 외 # 이후의 문자는 주석
$ 표시는 변수의 값을 가져오기 입니다. $vdir 은 vdir 에 저장된 값을 반환합니다.
cd , rm, echo 등 터미널에서 쓰는 명령어들을 그대로 쓴거고
DELETETARGET 을 할당하는데 저렇게 하면 배열 처럼 되는 것 같네요.
for, do ~ done 이 한 묶음으로 쓰이고 루프문 입니다.
if then else fi 도 한 묶음이고 대괄호 2개 묶음 [[]] 은 test용이라고 하는데
전용 문법이 있습니다
지금 쓴 건 -d 디렉토리 존재여부 체크 입니다.
이제 전체 스크립트 동작을 우리말로 풀어보면
DELETETARGET 변수 의 디렉토리가 존재할 때는 그 하위 디렉토리 까지 삭제
없으면 isn't exist 라고 출력 을 반복..
'컴퓨터공학 > 운영체제' 카테고리의 다른 글
bash 스크립트 백업용 2 폴더 만들어서 ZIP 압축시키기 (0) | 2016.04.26 |
---|---|
2011 윈도우 7 프로페셔널 대학생 프로모션 또해요 (0) | 2011.08.16 |
What is Google Chrome OS? 크롬 `OS`는 무엇인가? (0) | 2011.06.09 |
VBOX에서 우분투 11.04 쓰는데 한글팩 설치가 제대로 안되더군요 (0) | 2011.05.27 |