홍우진의 개발 일기장
[리눅스] 셸 프로그래밍 본문
셸 프로그래밍
리눅스의 셸
- 명령과 프로그램을 실행할 때 사용하는 인터페이스
- 사용자가 입력한 명령을 해석하여 커널에 전달하거나 커널의 처리 결과를 사용자에게 전달 하는 역할
- 셸은 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
문자열과 숫자가 다르다
'학교' 카테고리의 다른 글
220927 알고리즘 정리 (0) | 2022.09.30 |
---|---|
마이크로프로세서 실험보고서 (0) | 2022.09.28 |
[리눅스] 셸 프로그래밍 2 (0) | 2022.06.03 |
[리눅스] 파일 관리 명령어 (0) | 2022.04.29 |
[리눅스] 명령어, 클라우드컴퓨팅, 하이퍼바이저 (0) | 2022.04.08 |