Cloud System Engineer

셸 스크립트 본문

리눅스/centos

셸 스크립트

클라우드 엔지니어 2021. 10. 11. 20:47

셸 스크립트

 

셸은 여러 가지 환경 변수 값을 갖는데, 설정된 환경 변수는 echo $환경변수이름 형식으로 명령을 실행하면 확인할 수 있다. 예를 들어 호스트 이름을 출력하려면 echo $HOSTNAME 명령을 실행한다.

 

 

3행 문자열로 취급함

5행 숫자로 취급함 // expr 을 써야 하며 수식과 함께 `써야함. 각 단어마다 띄어쓰기를 사용해야함

7행 괄호와 * 앞에는 역슬래시(\)을 붙여야함

 

결과

3행을 계산으로 바꿀려면

 

결과

 

if else

 

기본적인 문법

if [조건]

then

 참일 경우 실행

fi

 

조건 사이에 각 단어에는 모두 공백이 있어야함.

 

문자열1” = “문자열2” // 두 문자열이 같으면 참

문자열1” !=”문자열2” // 두 문자열이 같지 않으면 참

-n “문자열” //문자열이 NULL(빈 문자열)이 아니면 참

-z “문자열” // 문자열이 NULL(빈 문자열)이면 참

 

산술 비교 연산자

수식1 -eq 수식2 //두 수식이 같으면 참

수식1 -ne 수식2 //두 수식이 같지 않으면 참

수식1 -gt 수식2 // 수식1이 크다면 참

수식1 -ge 수식2 // 수식1이 크거나 같으면 참

수식1 -lt 수식2 // 수식 1이 작으면 참

수식1 -le 수식2 //수식1이 작거나 같으면 참

!수식 // 수식이 거짓이면 참

 

 

 

결과

 

파일과 관련된 조건

-d 파일이름 //파일이 디렉터리이면 참

-e 파일이름 //파일이 존재하면 참

-f 파일이름  //파일이 일반 파일이면 참

-g 파일이름 //파일에 set-group-id가 설정되면 참

-r 파일이름 //파일이 읽기 가능하면 참

-s 파일이름 //파일크기가 0이면 참

-u 파일이름 //파일에 set-user-id가 설정되면 참

-w 파일이름  //파일이 쓰기 가능하면 참

-x 파일이름  //파일이 실행 가능하면 참

 

결과

fname: httpd 서버실행 파일인 lib/system/system/sshd.service에 저장

fname: 변수에 저장된 lib/system/system/sshd.service 파일이 일반 파일이면 참이므로 실행

그렇지 않으면 service is not installed 실행

 

case~esac

if문은 참 거짓 두 경우만 사용 가능함.

여러가지 경우의 수가 있다면, if문을 중복 사용하기 때문에 구문이 복잡해진다.

이때 사용하는 것이 case

 

 

 

결과

 

'리눅스 > centos' 카테고리의 다른 글

리눅스마스터 1급 사용자 관리 명령어  (0) 2021.10.05
리눅스마스터 1급 백업 명령어 모음  (0) 2021.10.03
kvm  (0) 2021.03.17
보안을 위한 네트워크 설계  (0) 2021.02.24
클라우드 서비스  (0) 2021.02.15