홍우진의 개발 일기장

[리눅스] 셸 프로그래밍 본문

학교

[리눅스] 셸 프로그래밍

홍우진 2022. 5. 27. 16:01
728x90
반응형

셸 프로그래밍

 

리눅스의 셸

- 명령과 프로그램을 실행할 때 사용하는 인터페이스

- 사용자가 입력한 명령을 해석하여 커널에 전달하거나 커널의 처리 결과를 사용자에게 전달 하는 역할

- 셸은 Server(B)의 텍스트 모드처럼 명령을 입력하는 환경과 비슷

- 우분투 에서 기본적으로 사용하는 셸은 bash(Bourne Again Shell)이며 배시셸이라고 읽음

 

bash의 특징

- 에일리어스(alias, 명령 단축) 기능

- 히스토리 기능( ↑ 또는 ↓ )

- 연산 기능

- Job Control 기능 

- 자동 이름 완성 기능( Tab )

- 프롬프트 제어 기능

- 명령 편집 기능

 

환경변수

- echo $환경변수

 

셸 스크립트 작성

- 확장자: sh

- #!/bin/sh 로 시작

- exit 0 으로 종료

 

셸 스크립트 실행

- sh [파일병].sh

 

변수 선언

- 공백이 없어야함 (중요)

 

파라미터 변수

- $sh son.sh aaa bbb ccc

1) $0 -> 쉘 스크립트 이름

    ex) echo $0 -> son.sh

2) $1 ~ $9 -> 쉘 스크립터에서 사용한 파라미터 변수

3) $# -> 쉘 스크립트에서 사용한 파라미터 변수 수

    ex) $# -> 3

4) $@ -> 쉘 스크립트에 사용한 파라미터 변수 이름

    ex) $@ -> aaa bbb ccc

5) $? ->기재되어있는 위치에서의 프로세스값 (디버깅 시 사용)

 

실행파일로 변경

- chmod +x [스크립트 이름] (중요)

 

값을 읽어오는 명령어

- read [변수이름] 

   데이터값 저장할 변수 이름

 

if문 -

 

if [ 조건 ]    (<- 띄어쓰기 중요)

then

 echo "참"

else

 echo "거짓"

fi

 

문자열과 숫자가 다르다

 

728x90
반응형
Comments