brunch

리눅스 쉘 프로그래밍

IT 리눅스 분야 6/3

by 채한빈

실행 파일로 변환실행 파일로 변환

쉘 프로그래밍

1. 시작

#!/bin/sh

확장자 => .sh


2. 변수 선언, 출력

name="SOHM" : 문자열 (띄어쓰기 사용X)

age = 10 : 정수형

echo $name : name 변수값 출력


3. 파라미터 변수 선언, 출력

$sh test.sh : 쉘 스크립트 파일 실행

$sh test.sh a b c d e : 쉘 스크립트 파일에 argument 전달 후 실행


파라미터 변수 선언

- $0 : 쉘 스크립트 명 (test.sh)

- $1~9 : 쉘 스크립트 실행시 사용된 arg 위치

- $# : 사용된 모든 args 갯수

- $@ : 사용된 모든 args 리스트


4. 데이터 입력

read : 데이터 입력

read 변수명1 : 변수명1에 입력된 값 저장

echo 변수명1 : 변수에 저장된 값 출력


5. 산술 연산

expr 5 + 3 : 덧셈 연산, 띄어쓰기 필수

expr 5 \* 3 : 곱셈 연산 , \*

쉘 스크립트 상에서

#!/bin/sh

num=expr `5 + 3` : 연산식에서 띄어쓰기 필수

echo $num


6. if 조건문, case문

기본 구성

if [조건문]

then

참일때

else

거짓일때

fi : 종료


문자열 비교

[ "son" = "HM" ] : 공백 필수


숫자 비교

= : -eq

!= : -re

> : -gt

< : -lt

>= : -ge

<= : le


CASE문

case $answer in

YES | yes) : 작성된 단어만 참 | : (파이프 라인으로 구분)

echo "정답입니다";; -> 문장 종료 후 (;;) 두개

[nN]*) : 모든 소문자 n or 대문자 N

echo "오답입니다";; -> 문장 종료 후 (;;) 두개

*) : 앞의 경우의 수를 제외한 모든 것

echo "잘못 입력" ;; -> 문장 종료 후 (;;) 두개

esac : 종료


7. 반복문

for

num=0

for 반복할변수 in 1 2 3 : (반복횟수, 3번 반복)

do

num=`expr $num + $i`

echo "반복한 횟수 : " $i

echo "num 값 : "$num

done : 반복문 종료


while

i=0

while [ i -ge 10 ]

do

echo $i

i=`expr $i + 1`

done


실행 파일로 변환

chmod +x read.sh : execute 권한을 주어 실행파일로 변환

./read.sh : 파일명만으로 파일 실행


keyword
작가의 이전글리눅스 쉘