선언변수명=데이터 변수명=데이터 사이에 띄어쓰기는 허용되지 않음
# 리스트 변수 (배열)
- 선언
변수명=(데이터1 데이터2 데이터3 ...)
- 사용
daemons=("httpd" "mysqld" "vsftpd")
echo ${daemons[1]} # $daemons 배열의 두 번째 인덱스에 해당하는 mysqld 출력
echo ${daemons[@]} # $daemons 배열의 모든 데이터 출력
echo ${daemons[*]} # $daemons 배열의 모든 데이터 출력
echo ${#daemons[@]} # $daemons 배열 크기 출력
filelist=( $(ls) ) # 해당 쉘스크립트 실행 디렉토리의 파일 리스트를 배열로 $filelist 변수에 입력
echo ${filelist[*]} # $filelist 모든 데이터 출력
# 조건
- 조건문 문법
if [ 조건 ]
then 명령문
else
명령문
fi
또는
if [ 조건 ]; then 명령문; fi
- 문자 비교
문자1 == 문자2 # 문자1 과 문자2가 일치
문자1 != 문자2 # 문자1 과 문자2가 일치하지 않음
-z 문자 # 문자가 null 이면 참
-n 문자 # 문자가 null 이 아니면 참
문자 == 패턴 # 문자열이 패턴과 일치
문자 != 패턴 # 문자열이 패턴과 일치하지 않음
- 수치 비교
( <, > 는 if 조건시 [] 를 넣는 경우 정상 동작하기도 하지만, 기본적으로 다음 문법을 사용하는 것을 권장 )
값1 -eq 값2 # 값이 같음(equal)
값1 -ne 값2 # 값이 같지 않음(not equal)
값1 -lt 값2 # 값1이 값2보다 작음(less than)
값1 -le 값2 # 값1이 값2보다 작거나 같음(less or equal)
값1 -gt 값2 # 값1이 값2보다 큼(greater than)
값1 -ge 값2 # 값1이 값2보다 크거나 같음(greater or equal)
- 파일검사
-e 파일명 # 파일이 존재하면 참
-d 파일명 # 파일이 디렉토리면 참
-h 파일명 # 심볼릭 링크파일
-f 파일명 # 파일이 일반파일이면 참
-r 파일명 # 파일이 읽기 가능이면 참
-s 파일명 # 파일 크기가 0이 아니면 참
-u 파일명 # 파일이 set-user-id가 설정되면 참
-w 파일명 # 파일이 쓰기 가능 상태이면 참
-x 파일명 # 파일이 실행 가능 상태이면 참
- 논리 연산
조건1 -a 조건2 # AND
조건1 -o 조건2 # OR
조건1 && 조건2 # 양쪽 다 성립
조건1 || 조건2 # 한쪽 또는 양쪽다 성립
!조건 # 조건이 성립하지 않음
true # 조건이 언제나 성립
false # 조건이 언제나 성립하지 않음
# 반복문
- for문 문법
for 변수 in 변수값1 변수값2 ...
do 명령문
done
- while문 문법
while [ 조건문 ]
do 명령문
done
'Programing > 리눅스' 카테고리의 다른 글
Timezone 변경하기 (0) | 2023.01.10 |
---|---|
Python 버전 관리 (0) | 2023.01.10 |
CMake 여러 버전 사용하기! (0) | 2023.01.10 |
네트워크 상태보기 netstat (0) | 2019.04.04 |
리눅스 접속 기록 확인 (0) | 2019.04.04 |