1. 변수
1.1 환경 변수(Environment Variables)
쉘 환경과 관련한 정보를 저장하는 변수
쉘에 의해 정의되고 사용자가 변경 가능
| 변수명 | 설명 |
| PATH | 쉘이 명령어를 찾을 때 참조하는 디렉토리 경로 |
| HOME | 로그인시 사용자의 홈디렉토리 |
| PS1 | 쉘 프롬프트 |
| TERM | 터미널 이름 |
| SHELL | 쉘 종류 |
| LOGNAME | 로그인 사용자 계정 |
1.2 사용자 정의 변수(User Defined Variables)
사용자가 정의해서 사용 가능한 변수
1.3 특수 변수(Special Variables)
쉘의 수행을 돕는 변수
쉘에 의해 설정되며 읽기전용으로 사용
| $ | 변수명 | 설명 |
| $ | $ | 현재 쉘의 PID |
| $ | ? | 실행된 마지막 명령의 종료 상태 |
| $ | # | 위치 매개변수의 수(아규먼트의 총 개수) |
| $ | - | 쉘에 설정된 현재 플래그 |
| $ | ! | 실행된 마지막 백그라운드 명령의 프로세스 넘버 |
| $ | * | $1부터 $n까지 모든 매개 변수 목록 |
| $ | @ |
1.4 위치 매개 변수(Positional Parameter)
쉘 스크립트 수행 시 전달 받는 위치 아규먼트
| 변수명 | 설명 |
| $0 | 명령어 |
| $1 - $9 | 위치 매개 변수 1-9 |
2. 조건문
2.1 test
test [expression]
[expression]
조건문을 검사하여 조건의 결과가 참이면 0, 거짓이면 1을 반환한다.
2.2 문자열 검사
| 비교 | 설명 |
| str1 = str2 | 같으면 true, 다르면 false 반환 |
| str1 != str2 | 다르면 true, 같으면 false 반환 |
| str | Null이 아니면 true, Null이면 false 반환 |
| -n str | 문자열의 길이가 0이 아니면 true, 0이면 false 반환 |
| -z str | 문자열의 길이가 0이면 true, 0이 아니면 false 반환 |
2.3 산술 비교
| 비교 | 해석 | 설명 |
| A -eq B | equal then | A와 B가 같으면 true 반환 |
| A -ne B | not equal to | A와 B가 다르면 true 반환 |
| A -gt B | greater than | A와 B보다 크면 true 반환 |
| A -ge B | greater than or equal to | A와 B보다 크거나 같으면 true 반환 |
| A -lt B | less than | A와 B보다 작으면 true 반환 |
| A -le B | less than or equal to | A와 B보다 작거나 같으면 true 반환 |
2.4 파일 검사
| 파일 검사 | file | 결과 |
| -d | file | 디렉토리파일이면 ture 반환 |
| -f | file | 일반파일이면 ture 반환 |
| -b | file | 블록파일이면 ture 반환 |
| -c | file | 원시파일(캐릭터파일)이면 ture 반환 |
| -l | file | 심볼릭 링크 파일이면 ture 반환 |
| -r | file | 파일 읽기가 가능하면 ture 반환 |
| -w | file | 파일 쓰기가 가능하면 ture 반환 |
| -x | file | 파일 실행이 가능하면 ture 반환 |
| -s | file | 파일이 존재하면서 크기가 0이 아니면 ture 반환 |
| -p | file | 파이프 파일이면 ture 반환 |
| -u | file | SetID 설정 파일이면 ture 반환 |
| -g | file | SetGID 설정 파일이면 ture 반환 |
| -k | file | Stickybit 설정 파일이면 ture 반환 |
2.5 논리 연산자
| 논리 연산자 | 설명 |
| ! | NOT |
| -a | AND |
| -o | OR |
| () | 우선순위 연산 |
3. 제어문
3.1 if~then~elif~else~fi 문
if 조건
then
명령1
elif 조건
then
명령2
...
else
명령n
fi
- 예시


3.2 case 문
case variable in
패턴1)
명령1 ;;
패턴2)
명령2 ;;
...
*)
명령n ;;
esac
- 예시


4. 반복문
4.1 for
for 변수 [in][값]
do
명령
done


4.2 while
whle 조건
do
명령
done


4.3 until
until 조건
do
명령
done
5. 내부 명령어
| 내부 명령어 | 설명 | 비고 |
| exit | 쉘 스크립트 종료 | |
| continue | 진행 중인 작업을 중단하고 반복문 처음으로 이동 | 반복문에서 사용 |
| break | 반복을 종료하고 done 다음 명령을 실행 | 반복문에서 사용 |
| return | 쉘 함수 종료 시 결과 값 반환 | |
| read | 표준입력에서 입력 받아 변수에 할당 | |
| expr | 수식의 결과 출력 |
'Program > 토스뱅크 사이버보안 엔지니어 부트캠프(공격&방어 기술)' 카테고리의 다른 글
| [Linux] FreeIPA 서버/클라이언트 구성 (0) | 2025.10.17 |
|---|---|
| [Lunix] 파일시스템/마운트/스왑 메모리 (0) | 2025.10.13 |
| [Linux] 디스크 관리 (파티셔닝 방법) (0) | 2025.09.26 |
| [Network] CISCO Packet Tracer 실습 (IP설정, MAC주소 확인, VLAN 설정, ) (1) | 2025.09.14 |
| [Network] CISCO Packet Tracer 설치 방법 및 사용법 (0) | 2025.09.14 |