[Bash 스크립트] Bash 스크립트 기본 개념과 변수컴퓨터 구조 & 운영체제/Linux2024. 11. 10. 22:59
Table of Contents
Bash 스크립트 기본 개념
리눅스에는 여러가지 쉘이 존재하지만 대부분의 리눅스 배포판에서 Bash가 기본 쉘로 제공되고 있다.
사실상 리눅스 쉘의 표준이 Bash이다.
Bash의 장단점
장점
- POSIX 표준을 준수해 대부분의 유닉스 기반 시스템에서 일관되게 작동한다. -> 이식성이 좋다.
- 자동 완성, 명령 히스토리, 명령줄 편집 등 사용자 편의 기능이 많아 편리하다.
- 리눅스 배포판 대부분에 기본 쉘로 탑재되어 있어 배우기 쉽고, 관련 문서와 자료도 풍부하다.
단점
- 복잡한 작업을 처리할 때 속도나 성능 느리다.
- 일부 구문이 복잡하고 오류가 발생하기 쉬워, 복잡한 스크립트 작성 시 어려움이 있을 수 있다.
- 다른 언어와 달리 객체 지향 기능이 없어, 대규모 프로그램 작성에는 비효율적이다.
동작 방식
bash 스크립트는 bash 커맨드 라인의 모음이다.
따라서 스크립트 파일의 내용이 bash의 자식(child)프로세스에서 실행되며, 스크립트 파일의 명령어를 순차적으로 처리한다.
또한 스크립트 파일임을 명시하기위해 스크립트의 최상단에 "#!/bin/bash"를 입력해주어야 하는데, 이를 샤뱅(Shebang)이라고 한다.
샤뱅은 스크립트 파일의 첫 줄에 나타나는 #! 기호로, 이 뒤에 오는 경로는 스크립트를 실행할 해석기(interpreter)를 지정한다.
샤뱅은 리눅스와 유닉스 계열 시스템에서 스크립트 파일을 실행할 때 그 파일이 어떤 프로그램으로 해석되어야 하는지를 명확히 지정해준다.
스크립트의 기본적인 확장자는 .sh이다.
변수
변수는 데이터를 저장하고 참조하기 위해 사용된다.
스크립트 작성 시 값을 동적으로 다룰 수 있게 해주며, 간단한 문자열부터 복잡한 배열까지 다양한 데이터를 담을 수 있다.
변수 이름 규칙
- Underscore(_)를 제외한 특수 문자 사용 불가
- 대소문자 구분
- 영문 혹은 underscore로 시작
변수 출력
$test_variable
${test_variable}
변수 할당
#변수명=값
test_variable=“abce defg”
변수 삭제
#unset 변수명
unset test_variable
변수 타입
bash의 변수는 기본적으로 타입(type)이 없다.
하지만 declare 명령어를 통해서 정수 타입, 배열 타입 변수를 선언할 수 있다.
따라서 bash에서 변수는 아래와 같이 3가지라고 할 수 있다.
- integer
- array
- string(기본)
declare
- -i : 정수 타입
- -a : 배열 타입
'컴퓨터 구조 & 운영체제 > Linux' 카테고리의 다른 글
[Linux] 리디렉션과 파이프라인 (0) | 2024.11.09 |
---|---|
[Linux] 프로세스 관련 명령어 (0) | 2024.11.08 |
[Linux] 프로세스와 시그널 (0) | 2024.11.08 |
[Linux] 스크립트 작성 및 실행 (0) | 2024.11.07 |
[Linux] 사용자와 그룹 (0) | 2024.11.07 |