본문 바로가기

Shell Script

Shell Script

주석

  • #

 

변수 선언 (= 기호 앞뒤로 공백없이)

  • 전역 변수 String = "hello world"
  • 지역 변수 String_test() { Local strig="local" }

 

Source file.sh 또는 . File.sh

  • 셸 파일 실행 (현재 셸에서 스크립트 파일 실행)

 

Source VS Bash

  • Source file.sh : 현재 셸에서 스크립트 파일 실행 선언한 환경변수 바깥에서 접근 가능
  • Bash file.sh : 새로운 셸을 만들어 스크립트 실행 선언한 환경변수 바깥에서 접근 불가
    (바깥에서의 접근을 원하면 export 사용)

 

Source file.env

스크립트 안의 환경변수는 바깥에서 접근 불가 (스크립트가 끝나면 소멸)

바깥에서 접근을 원하면 export 명령어 수행

(반드시 bash가 source보다 앞서서 실행)

 

If 조건문

If [ 값 조건식 ] ;

('[' 입력 후 반드시 한 칸 띄어야 함)

Then

실행문

fi

 

If 조건식에서 =~을 사용할 경우,

If [ 조건식 ] 이 아니라,

If [[ 조건식 ]] 으로 해야 함

 

' ~= ' : 문자열 안에 저 문자가 포함되어 있는 경우

 

' - ' : 현재 옵션 플래그

 

' ! ' : 최근에 실행한 백그라운드(비동기) 명령의 PID

 

문자열 비교

  • ' -z ' : 문자열이 NULL, 길이가 0인 경우
  • ${변수} : 문자열이 NULL이 아님

 

파일 비교

  • ' ! ' : 조건이 안맞으면 참 (예: ! -e file)

 

/dev/null : 이 파일은 항상 비어있으며, 전송된 데이터는 버려짐 특정 명령어 실행 후, 출력이 필요없는 경우 출력을 여기로 지정

  • 1> /dev/null : 표준 출력만 무시하는 경우
  • 2> /dev/null : 표준 오류만 무시하는 경우
  • /dev/null 2>&1 : 표준 입출력 모두 무시하는 경우

 

Test -d 파일이름 : 파일이 디렉토리인지, 결과가 긍정이면 '0', 부정이면 '1' 리턴