1. 쉘 스크립트의 지역변수
- 쉘 스크립트에는 기본적으로 미리 정의 되어있는 변수들이 있다.
- 다음의 사진을 확인해보자.
a) 실습예제
- 위의 설명이 정확하기 무엇을 말하는 것인지 잘 모르겠다.
- 그러므로 실습을 통해서 알아보자.
#!/bin/bash
echo "쉘의 프로세스번호 = " $$
echo "쉘 스크립트 이름 = " $0
echo "명령줄 인수 = " $1 $2 $3 $4 $5
echo "모든 명령줄 인수리스트 = " $*
echo "인수의 개수 = " $#
2. 연산자
- expr(expression): 숫자계산
- expr을 사용하는 경우, 역 작은따옴표를 사용해야한다. (물결표시 아래에 있는 특수문자)
- 연산자 *와 괄호() 앞에는 역실래시(\)를 같이 사용 해야한다.
- 연산자와 숫자, 변수, 기호 사이에는 스페이스를 넣어야 한다.
a) 실습예제
#!/bin/bash
num=`expr \( 10 + 20 \) / 8 - 8`
num2=`expr 3 \* 3`
echo $num
echo $num2
- 첫번째 수식의 경우 30/8 을 먼저 수행하여 3.xxx를 구한 뒤 8을 빼는 연산을 거친다.
- 연산결과는 정수로 나온다.
3. 조건문
a) if 조건문
- then과 fi 사이의 명령문은 들여쓰기가 되어 있어야 한다.
- 명령문을 꼭 탭(tab)키를 이용하여 띄워야 하는 것은 아니다.
- tab으로 명령문을 들여쓰기 하는 이유는 가독성이 좋기 때문이다.
#!/bin/bash
if [조건문]
then
명령문
fi
b) 실습예제
- 두개의 인자값을 받아 비교하여, 두 인자값이 다르면 different values를 출력하는 조건문을 만들어보자.
- 앞에서 배운 지역변수 중에 명령줄 인수를 받아오는 지역변수를 이용하여 인자값을 받으면 된다.
#!/bin/bash
if [ $1 != $2 ]
then
echo "different values"
exit
fi
c) 알아두면 좋은 문자비교 연산자
d) 비교연산자
- 꺽쇄(<>)를 이용한 비교연산도 사용할 수 있다. 그러나 >= 또는 <=는 작동하지 않는다.
- 다만, 쉘 환경에 따라서 동작하지 않을 수 있기 때문에, 아래의 비교연산자를 사용하는 것을 권장한다.
'컴퓨터공학기초 개념 > 시스템 프로그래밍' 카테고리의 다른 글
32. 쉘 스크립트 - 현업 예제(backup, log, tar, find) (0) | 2021.09.24 |
---|---|
31. 쉘 스크립트 - 조건문과 반복문 (0) | 2021.09.24 |
29. 쉘 스크립트 - 이해와 변수 (0) | 2021.09.23 |
28. 시그널 - 사용법 이해 (0) | 2021.09.21 |
27. 프로세스 - IPC 기법(shared memory) (0) | 2021.09.21 |
댓글