안녕하세요!
오늘은 제가 지난 5/31 ~ 6/2까지 들었던 교육에 대해서 정리한 내용을 공유하고자 합니다!
먼저 교육을 들었던 사이트부터 소개 하겠습니다.
KOSTA EDU | KOSTA
제 4차 산업혁명의 핵심 '소프트웨어 역량' KOSTA가 제공합니다. 무엇을 배우시겠습니까? 1,000여개의 기업과 함께하는 대한민국 소프트웨어 기술진흥 · 인력양성 대표기관 (13637) 경기도 성남시 분
edu.kosta.or.kr
위 사이트에 재직자를 위한 무료 강의들이 많이 준비 되어있습니다. 지금은 코로나로 인해서 비대면위주로 강의를 해주시고 계시니 직장에서 현재 프로젝트를 들어가시기 위해 준비중이신분들 또는 시간이 있으신 분들은 참석해서 들어보시는 것을 추천드립니다!
(취업 준비생분들을 위한 교육도 있으니 참고하시면 좋겠습니다!)
제가 이번에 들었던 교육은 리눅스 시스템 관리와 개발환경 구축 핵심 리눅스 쉘 프로그래밍 입니다.
앞서서 이 교육에 대한 내용은 리눅스에 대한 전반적인 기본 지식을 습득하신 분들을 위한 정리 내용이니 참고 해주시면 감사하겠습니다.
실행 환경 : Ubuntu 20.04 버전을 사용하였습니다.
* 목차
1. 쉘 정의 및 사용 방법
2. 쉘 변수 선언 및 입/출력
3. 쉘 산술연산 , 조건문 / 반복문
4. 쉘 함수
5. 쉘 스크립트 응용(실습) - 계산기
교육 개요
: 쉘에 대한 정의, 기초 지식(변수 , 제어문, 반복문 , 함수)을 바탕으로 실습(계산기)까지 진행한 내용.
1. 쉘 정의 및 사용 방법
1) 쉘 이란?
→ 키보드에서 입력 받은 텍스트와 심볼을 확장해 보다 넓은 표현을 만들어 낸 후 운영체제에
해당 명령의 실행을 요구하는 프로그램.
2) 사용 방법
→ 문서 편집기를 이용하여 파일을 생성하고 파일에 여러 개의 명령을 입력(작성)
→ 쉘 스크립트 파일을 생성 할 때 첫 번째 줄에는 스크립트를 해석하는데 사용되는 쉘을 정의 해야함
★ #!/bin/bash
3) 실행
실행 방법 | 실행 위치 |
source <shell cript> | 현재의 쉘에서 실행 |
. <shell cript> | 현재의 쉘에서 실행 |
./<shell cript> | subshell로 실행됨 , 쉘 스크립트를 실행파일로 설정 |
4) 쉘 스크립트 작성 예시
다음으로 쉘의 변수 선언 및 입/출력 부분에 대해 알아보겠습니다.
2. 쉘 변수 선언 및 입/출력
1) 쉘 변수 선언 / 값 할당
→ varname=value
(변수이름)=(값)
* 주의) 변수이름과 값을 붙여서 작성할 것.
2) 입 / 출력
입력)
read : 사용자가 키보드를 사용하여 입력하면 해당 값을 읽어와서 변수에 저장
출력)
echo : 변수에 저장된 값 or 문자열 출력 , 출력시 자동적으로 줄바꿈 처리를 해줌
3. 쉘 산술연산 , 조건문 / 반복문
1) 기본 산술 연산 부호와 동작 방법
→ 쉘에서 사용하는 산술연산 표현 방법은 아래의 표와 같이 표현 가능함.
$(expr) | $[] | (())* |
+ | + | + |
- | - | - |
\* | * | * |
/ | / | / |
% | % | % |
기본 산술 연산 부호와 동작 방법
2) 조건문 (if & then ~ else ~ fi) / 반복문(for)
3) 제어문(분기문 처리) Case
(1) 정의
→ 단순한 integer or character의 값을 비교하여 해당하는 값에 대한 내용을 출력.
→ *(와일드카드) 포함하는 String을 비교할 수 있음
(2) 예시
4. 쉘 함수
1) 정의
→ 명령어를 그룹화시키는 방법
→ 함수가 선언된 쉘 내에서 실행되고 쉘 함수 내의 모든 명령어는 일반 명령어처럼 실행
→ 이름을 단순 명령어로 사용하면 해당 이름으로 그룹화된 명령어가 실행
→ 함수의 이름은 고유한 이름을 지정
→ 동일한 이름으로 재 정의되면 나중에 정의된 함수가 실행되며, 에러 메시지가 발생하지 않는다.
2) 함수 생성 형식
함수에 대한 기본 형식입니다.
오늘은 쉘 스크립트의 정의 ~ 함수에 대한 기본 내용까지 살펴 보았습니다.
다음 시간은 알아보았던 내용들을 토대로 실습을 해볼 수 있도록 하겠습니다.
수고많으셨습니다!
'서버 > 리눅스' 카테고리의 다른 글
[리눅스 도전기] 쉘 프로그래밍(2) (0) | 2021.06.05 |
---|---|
[리눅스 도전기] putty (0) | 2021.01.14 |
[리눅스 도전기 11편] tail (0) | 2021.01.12 |
[리눅스 도전기 10편] head (0) | 2021.01.11 |
[리눅스 도전기 9편] rm (0) | 2021.01.10 |