쉘스크립트 02 - 조건문

2021. 3. 11. 16:38Computer(인강)/시스템 프로그래밍

728x90
반응형

안녕하세요 bannavi입니다^ㅅ^

오늘은 쉘스크립트의 두번째 시간! 조건문에 대해 살펴보도록 하겠습니다

바로 시작하겠습니다

 

 

 

4번라인, 6번라인에서 대괄호를 빼고 실행시켜봤습니다.

 

대괄호를 뺀 부분은 그대로 출력이 되는 모습을 보실 수 있습니다.

 

 

 아하 대괄호를 써야 우리가 원하는 값을 인식하는군요.

 

 

실습

* 아이디 관련 정보 리스트 변수로 만들고, 각 정보 출력하기

1. 실제 이름(0번 인덱스)

2. 나이(1번 인덱스)

3. 직업(2번 인덱스)

 

 

배열로 세개의 데이터를 만들고

(숫자는 $표시로 만들면 문자로 인식하는 것이고 달러 표시를 안해도 숫자로 인식하기 때문에 정상적으로 출력이 됩니다)

wq!로 나와 주시고요

 

코드를 출력해보면 정상적으로 출력이 되는 모습을 확인하실 수 있습니다.

 

특별한 기호들이 쉘 스크립트에서는 이용되는 경우가 많습니다.

그중에 아래와 같은 기호들이 있습니다.

 

실습

쉘 프로세스 번호, 쉘 스크립트 이름, 명령줄 인수, 모든 명령줄 인수리스트, 인수 개수 출력해보기

echo다음 순서부터 pid, 쉘 이름, 첫번째 인자, 이름뺀 나머지 인자리스트, 이름 뺀 나머지 인자의 갯수

전체를 쉘의 이름으로 보고 있고요 인자, 인자리스트, 갯수 이렇게 나오는것을 보실 수 있습니다.

 

연산자

프로그램 언어에서 연산은 아주 기본적인 기능이죠?

쉘스크립트에서도 명령어를 사용하여 명령을 하도록 되어있습니다.

 

expr: 숫자계산

expr을 사용하는 경우, 역작은 따옴표(')를 사용해야함(작은 따옴표가 아님)

연산자 *과 괄호()앞에서는 역슬래시()와 같이 사용

연산자와 숫자, 변수, 기호 사이에는 space를 넣어야 함!

괄호 앞에 역슬래시 한 모습

실행을 해보면 -5가 나온 모습을 확인하실 수 있습니다.

 

조건문 문법

 

# 기본 if 구문

 명령문을 꼭 탭으로 씌워야 하는것은 아님.(then과 pi안에만 들어가 있으면 됌)

 

 

실습

쉘스크립트 조건문

* 두 인자값을 받아서 두 인자값이 다르면 'different values'를 출력하라

exit를 안쓴다고 해도 어차피 이 프로그램안에 더이상 실행할 코드가 없기 때문에 이 프로그램은 종료가 될 것입니다.

 

실행을 시키면 값이 다르다고 이렇게 나오네요

 

조건

1. 조건 작성이 다른 프로그래밍 언어와 달리 가독성이 현저히 떨어짐, 필요할 때마다 참조하면 됨.

2. 문자 비교

3. 수치비교(<,>는 if 조건시 [[]]를 넣는 경우 정상 작동하기도 하지만, 기본적으로 다음 문법을 사용하는 것을 권장 )

 

실습

쉘스크립트 조건문

# 첫번째 인자값이 두번째 인자값보다 크면, 이를 출력하는 코드 작성해보기

wq로 나와주신 후에 실행된것을 보면 아래와 같습니다

728x90
반응형