echo 3. 기본 문법

Download Report

Transcript echo 3. 기본 문법

5장. 쉘 프로그래밍
목차
1.
2.
3.
4.
쉘 개요
쉘 프로그래밍
기본 문법
쉘 프로그래밍 활용
1. 쉘 개요

쉘 정의





명령어 해석기
사용자가 실행한 명령어를 기계어로 변경하여 커널에 전달하는 역할
리눅스는 기본적으로 Bourne Again SHell (BASH)이 설정
필요에 따라 원하는 쉘을 설치 및 선택 사용 가능
쉘 종류
종류
프롬프트
설명
Bourne Shell
$
UNIX 표준 쉘, 모든 UNIX에서 사용
Korn Shell
$
Bourne 쉘보다 기능이 확장된 쉘
C Shell
%
C 언어와 유사한 쉘, 다양한 기능
Bourne Again Shell
$
Bourne 쉘의 기능을 확장한 쉘, Linux 표준 쉘
* 어떤 쉘 이든 root 사용자 프롬프트는 # 이다.
2. 쉘 프로그래밍

개요
• 리눅스는 쉘이 제공하는 기능을 이용해 프로그래밍이 가능
• 쉘 프로그래밍은 리눅스 시스템의 이해 및 시스템 관리에 필수적
• 리눅스 사용환경을 변경하거나, 자주 사용하는 작업의 실행 절차를
자동화 할 목적으로 사용됨
• 각 쉘마다 ( Bourne , Korn , C ) 프로그래밍 문법이 약간씩 다름
• 쉘 프로그래밍 절차
① 쉘 스크립트 작성
② 사용 권한 변경
③ 실행
2. 쉘 프로그래밍
1. 쉘 스크립트 (Shell Script) 작성
 쉘 스크립트 : 명령어들을 필요 시 실행하기 위해 텍스트 파일
형식으로 저장한 것
 텍스트 편집기 (gEdit 혹은 nano)로 작성한다.
 맨 앞에 #! /bin/bash 를 붙여준다.
예제
쉘 스크립트 작성 예
2. 쉘 프로그래밍
2. 사용 권한 변경
• 생성된 프로그램은 기본적으로 644 ( 실행불가 )모드로 생성
되므로 실행 가능한 7XX 모드로 전환해 실행 권한을 부여한다.
# chmod 755 파일명
2. 쉘 프로그래밍
3. 실행
1. 터미널에서 직접 실행하기
# ./파일명
혹은
# sh 파일명
2. 쉘 프로그래밍
2. 파일 브라우저로 실행하기
두번 클릭
2. 쉘 프로그래밍
주의 !
- 파일브라우저로 실행하는 경우 스크립트 맨 뒤에 반드시
sleep 명령과 함께 터미널이 표시될 시간을 적어준다.
이 명령이 없으면 순식간에 터미널창이
나타났다가 사라지므로 실행 결과를
확인하기 어렵다
3. 기본 문법

화면출력 명령 : echo
문자나 변수의 내용을 화면에 표시
옵션
-n : 자동 줄 바꿈을 하지 않는다.
형식
$ echo [옵션]
$ echo [옵션]
“문자열”
$변수
변수의 내용을 표시
예제
#! /bin/bash
echo “안녕하세요?”
test=‘Hello!’
echo $test
3. 기본 문법

쉘 변수
 쉘 변수는 변수형(정수, 실수 등)을 지정하지 않아도 된다.
 쉘 변수에는 일반변수와 환경변수가 있다.
• 일반변수
형식
변수명=값
변수와 문자열과 ‘=‘
사이에 공백이 있어서
는 안 된다.
예제
지정한 변수를 다른 곳에서 사용할 때는 반드시
변수명 앞에 $를 붙여야 함!
3. 기본 문법
• 환경변수
• 미리 변수의 내용이 정의되어 있음
$HOME
로그인 홈 디렉토리 경로 표시
$PWD
현재 디렉토리 표시
$PATH
실행파일들의 기본 경로 표시
$HOSTTYPE
$MACHTYPE
$OSTYPE
하드웨어 종류 표시
하드웨어 및 운영체제 종류 표시
운영체제 종류 표시
$USER
사용자 ID 표시
$SHELL
쉘 유형 표시
$TERM
터미널 유형 표시
$RANDOM
난수발생 ( 0 ~ 32767)
$SECONDS
스크립트 실행시간 표시
3. 기본 문법
예제
3. 기본 문법

문자열 다루기
 echo ${#변수} : 변수의 문자 갯수 표시
예제
#! /bin/bash
str="abcABC123ABCabc"
echo ${#str}
Sleep 10
주의!! - 공백이나 . 도
문자로 취급한다.
3. 기본 문법
 echo ${변수:n} : 변수 n위치에서부터 끝위치까지 문자 추출.
 echo ${변수:n:m} : 변수 n위치로부터 m길이만큼 문자 추출
0
예제
str="abcABC123ABCabc"
echo ${str:0}
echo ${str:1}
echo ${str:7}
echo ${str:7:3}
주의 !!!! n은 0 부터 시작
m은 1, 2, 3 …. 계수
3. 기본 문법

산술 연산 명령 : let
• 사칙 연산을 할수 있다.
예제
#! /bin/bash
a=30
let b=$a/6
echo $b
공백이 없어야 한다!!!!
let 명령에 한해서 특별히 $를 안 써도
됨
3. 기본 문법

입력 명령 : read
• 단말기 혹은 파일에 저장된 자료를 읽어 변수에 대입한다.
형식
read 변수명
예제
#! /bin/bash
echo " 첫 단어를 입력하세요. "
read a
echo " 두 번째 단어를 입력하세요. "
read b
echo "두 단어 내용은 " $a $b
let c=${#a}+${#b}
echo "두 단어의 총 길이는 " $c
3. 기본 문법
실습 1
1. 다음의 쉘 스크립트를 작성, 실행하고 그 결과를 설명하라.
#! /bin/bash
str="Unix Admin"
echo ${str:5}
2. 다음의 쉘 스크립트를 작성 , 실행하고 그 결과를 설명하라.
#! /bin/bash
echo "Input a number. "
read x
let y=$x/5
echo $y
실습 2
3. “Linux Shell Programing.” 에서 “Shell” 만 출력되도록
쉘 스크립트를 작성하라.
#! /bin/bash
4. 위의 “Linux Shell Programing.”의 글자 수가 표시되도록 쉘 스
크립트를 작성하라.
#! /bin/bash