앞으로 자주 쓸 것 같은 스크립트 기록용 게시글입니다. (저는 쉘스크립트 초심자)


맥 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 라고 출력 을 반복..