개발일기장

chapter 07 - 셸 스크립트 프로그래밍 (2) 본문

책 정리/리눅스 CentOS 8

chapter 07 - 셸 스크립트 프로그래밍 (2)

게슬 2023. 1. 8. 21:16
728x90

숫자 계산

스크립트
결과

사칙연산같은것을 하고싶으면 `(역따옴표)로 묶어주고 expr키워드를 사용

그리고 수식에 괄호나 *(곱하기) 사용하고 싶으면 \(역슬래시)를 붙여야함


if문, case문

if [ 조건 ]
then
	[ 실행 ]
else
	[ 실행 ]
fi

주의해야할 것은 괄호 양옆은 무조건 공백이 있어야 한다.

스크립트
결과

조건문 산술/비교 연산자

연산자 결과
"str1" = "str2"
"str1" != "str2"
-n "str" NULL이 아니면 TRUE
-z "str" NULL이면 TRUE
   
수식1 -eq 수식2
수식1 -ne 수식2
수식1 -gt 수식2
수식1 -ge 수식2 크 + 같
수식1 -lt 수식2
수식1 -le 수식2 작 + 같
!수식 반대로
   

대충 이런것들이 있다.

스크립트
결과

파일 조건

조건 결과
-d 파일이름 directory
-e 파일이름 exist
-f 파일이름 file
-g 파일이름 파일에 set-group-id 가 설정되면
-r 파일이름 읽기가능
-s 파일이름 크기가 0이 아니면
-u 파일이름  set-user-id 설정되면
-w 파일이름 쓰기 가능이면
-x 파일이름 실행 가능이면

ㄹㅇ 가능충들...

 

스크립트

 

결과


case~esac

이런 스크립트에선 if elif else 에서 elif를 못쓰고 2가지만 가능함..

그래서 case써야하고

 

스크립트
결과


반복문

for~in문과 while문이 있음

for문

숫자 예시

다른거 예시

스크립트

while문

while스크립트
결과


함수

그냥 저렇게 함수 선언하고 사용하면 된다 

파라미터는 그냥 줄줄이 넣고 순서에 맞게 $1 $2..


set $(명령)

date명령을 내리면 년/월/일/요일/시간/기준 이렇게 값이 들어가는데

이걸 set으로 파라미터로 바꿔서 date결과를 사용할 수 있음

그리고 shift 명령을 사용하면 파라미터를 하나씩 떙길 수 있음.. 그럼 계속 $1 만으로도 괜찮을듯


 

그리고 일반적인 프밍처럼 continue, break, exit, return 등을 사용 할 수 있다.

이것들 다 외운다는 느낌보다는 필요할 때 찾아쓰는 느낌..? 그냥 줄임말같아서 어렴풋히 알것만 같은..

 

그래도 이번주는 근무시간도 많이 채워뒀구 금요일도 쉬고, 다음주는 지나면 설 연휴고 ..? 

또 뭔가 시간이 엄청 빨리갈거같은 기분????

빨리 뭔가 잘해졌으면 좋겠다.

아 개발도 좀 안까먹게 해야하는데 귀차늠..

728x90
Comments