책 정리/리눅스 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문
함수
그냥 저렇게 함수 선언하고 사용하면 된다
파라미터는 그냥 줄줄이 넣고 순서에 맞게 $1 $2..
set $(명령)
date명령을 내리면 년/월/일/요일/시간/기준 이렇게 값이 들어가는데
이걸 set으로 파라미터로 바꿔서 date결과를 사용할 수 있음
그리고 shift 명령을 사용하면 파라미터를 하나씩 떙길 수 있음.. 그럼 계속 $1 만으로도 괜찮을듯
그리고 일반적인 프밍처럼 continue, break, exit, return 등을 사용 할 수 있다.
이것들 다 외운다는 느낌보다는 필요할 때 찾아쓰는 느낌..? 그냥 줄임말같아서 어렴풋히 알것만 같은..
그래도 이번주는 근무시간도 많이 채워뒀구 금요일도 쉬고, 다음주는 지나면 설 연휴고 ..?
또 뭔가 시간이 엄청 빨리갈거같은 기분????
빨리 뭔가 잘해졌으면 좋겠다.
아 개발도 좀 안까먹게 해야하는데 귀차늠..
728x90