posted by 쿸크 2023. 1. 10. 15:38

선언변수명=데이터 변수명=데이터 사이에 띄어쓰기는 허용되지 않음

 

# 리스트 변수 (배열)

  - 선언

    변수명=(데이터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