반응형
쉘 스크립트 기초
쉘(shell)이란?
- 사용자가 프로그램을 시작하고, 파일시스템에 있는 파일을 관리하고, 리눅스 시스템에서 실행되는 프로세스를 관리하는 방법을 제공
- 텍스트 명령을 입력하면 쉘은 이를 해석하고 커널에서 실행
- 쉘은 파일을 복사하고, 옮기고, 이름을 바꾸고, 현재 시스템에서 실행 중인 프로그램을 표시하고, 시스템에서 실행 중인 프로그램을 중지시키는 일들을 수행함
쉘 스크립트란?
- 쉘 명령들을 묶어서 파일에 넣음으로써 프로그램처럼 실행 → 쉘 스크립트
- 커맨드라인에서 실행할 수 있는 명령이라면 무엇이든 쉘 스크 립트에 넣고 명령의 그룹으로 실행 가능함
- 여러 가지 리눅스 쉘이 존재함. 리눅스 배포판에서 사용하는 기본 쉘은 bash 쉘(Bourne-again Shell) → UNIX 쉘을 대체하는 수단으로 GNU 프로젝트를 통해 개발
- 쉘(shell)은 명령 인터프리터(command interpreter) 이다
- 사용자가 운영 체제에 명령을 내리거나, 명령을 일괄적으로 실 행할 수 있는 기능을 제공하는 응용 프로그램 이다
- 쉘은 사용자가 시스템과 대화 할 수 있는 방법이라고 생각할 수 있음
- 쉘 명령의 조합
- 변수 & 배열 선언이 가능함
- 산술 연산 & 논리 연산이 가능함
- 조건문 & 반복문이 가능함
- 함수 선언이 가능함
쉘의 종류
- sh : Thompson Shell (1971)
- bsh : Bourne Shell (1977)
- csh : C Shell (1979)
- tsch : Tabbed C Shell (1979)
- ksh : Korn Shell (1982)
- bash : Bourne-again Shell (1987)
- zsh : Z Shell (1990)
- dash : Dash Shell (2002)
쉘 스크립트 작성
- vim 에디터 (일반적)
- nano 에디터 (권장)
- 윈도우즈 메모장
쉘 스크립트 실행 방법
- ./<쉘 스크립트 파일명>
- bash <쉘 스크립트 파일명>
- source <쉘 스크립트 파일명>
- . <쉘 스크립트 파일명
- 절대경로를 모두 적어주자!
- <절대경로>/<쉘 스크립트>
- /mnt/f/oss/tmp_bash.sh
- sudo cp <쉘 스크립트> /usr/bin/<쉘 스크립트>
- <쉘 스크립트 파일명>
- sudo cp tmp_bash.sh /usr/bin/tmp_bash.sh tmp_bash.sh
- 경로를 PATH 환경 변수에 추가
- 추가되어 있는 PATH 환경 변수 확인
- echo $PATH
- PATH 환경 변수 추가
- PATH=$PATH:<쉘 스크립트가 있는 절대경로>
- PATH=$PATH:/mnt/f/oss
- 쉘 스크립트 실행
- 위 방법은 임시적으로 등록하는 방법
- 영구적으로 등록하는 것은 각자 찾아보자
- #!/bin/bash를 제일 처음에 붙여주자!
- #!/bin/bash
- 본 쉘 스크립트 파일이 bash 쉘로 실행한다는 점을 뜻함
- 다른 쉘 스크립트로 실행시키려면, 다른 쉘 명을 입력함
- 예) #!/bin/tcsh
- 입력을 안해도 실행이 되는 이유는 리눅스 배포판은 기본적으로 bash 쉘로 설정되어 있기 때문임
파일 권한 변경
- chmod (change mode)
- chmod <파일 권한> <파일명>
- $ chmod a+x bash.sh
- $ chmod g-w bash.sh
- $ chmod 755 bash.sh
// 오픈소스SW개론 4주차
반응형
'CS > 운영체제' 카테고리의 다른 글
[쉘 스크립트] 기초_변수_테스트문 (0) | 2021.10.24 |
---|---|
[소프트웨어 공학] 소프트웨어 공학이란? (0) | 2021.10.16 |
[소프트웨어의 역사] 유닉스 vs 리눅스 (0) | 2021.10.14 |
[리눅스] 명령어 (검색, 비교) (0) | 2021.10.14 |
[리눅스] 명령어 (text) (0) | 2021.10.14 |
댓글