기본
모든 쉘 스크립트 확장자는 .sh
(권장 사항) 파일의 맨 위에는 #! /bin/bash를 적어준다.
- 이 문서는 bash 쉘 스크립트임을 알린다
- #! /bin/bash : bash 쉘
- #! /bin/sh: dash 쉘
bash vs dash
bash와 dash의 대부분의 명령어는 같다
user는 기본적으로 bash를 사용하지만 우분투 시스템에서는 기본적으로 dash를 사용한다.
bash
더 많은 기능 지원 (ex history)
기본 설정으로 POSIX 비호환 확장 기능을 제공하나 --posix 옵션을 사용하여 POSIX 모드 사용 가능
기능이 많아서 느릴 수 있음
dash
빠른 실행과 최소한의 리소스 사용을 목표로 함
POSIX 표준을 엄격히 준수
경량이라서 빠름
실행방법
- .source [파일이름.sh]
- 가장 많이 사용되는 방법
- . [파일이름.sh]
- 실행권한이 필요한 경우가 있음
문법
변수
변수이름=값 (띄워쓰기 금지)
모든 값들은 문자열로 취급 (숫자로 취급 x)
$(( )) 를 붙이면 이 안에서 산술 연산으로 처리 됨
실행 결과
shell 명령어의 실행 결과를 변수에 저장할 수 있다
실행 결과
주석
한줄 주석 # 입력하고 그 후에 작성
조건문
if 문은 띄워쓰기를 조심해야 함
fi 로 조건문 종료를 해줘야 함
독보적인 비교 연산자
- -lt : less than
- -gt : greater than
- -eq : equal (수 비교)
- -ne : not equal
- -ge : greater or equal
- -le : less or equal
파일 비교도 가능하다
- -x : 파일이 존재하고, 권한이 (+x)일 때
- -f : 파일이 존재하고, Regular 파일일 때
- etc...
printf
c언어의 printf와 비슷하다
있다는 것 정도만 알아주자
배열
배열을 만들 때는 ( ) 사용
배열 값을 출력할 때는 { } 괄호 필수
반복문
for 문법
함수
함수 호출할 때, 함수 이름만 입력하면 됨
'Linux > 개념' 카테고리의 다른 글
환경변수 (0) | 2024.12.12 |
---|---|
리눅스 사용자 및 권한 관리 (0) | 2024.12.11 |
포트포워딩 (0) | 2024.12.11 |
리눅스 파일 시스템 및 구조 (0) | 2024.12.10 |
우분투(Ubuntu)와 리눅스(Linux), 운영체제, 쉘 (0) | 2024.12.10 |