본문 바로가기

Web Programming/Ubuntu Linux

[Ubuntu Linux] 4. Shell script

#환경변수

셸은 여러가지 환경변수를 갖는다. 설정된 환경변수는

(echo) $환경변수이름  으로 실행하면 확인할 수 있다.

 

#Shell script 

name.sh

#!/bin/sh                     //첫행에 꼭 써주어야 한다.
echo "사용자 이름: " $USER     //USER라는 환경변수의 내용 출력
echo "홈 디렉토리: " $HOME     //HOME라는 환경변수의 내용 출력
exit 0

*실행할때엔 반드시 권한을 755로 바꾸어 주거나 sh 명령어를 사용하여 실행하여야 한다.*

실행권한을 바꾸어주면 ./name.sh 로 실행가능 / 바꾸지 않았을땐 sh ./name.sh로 실행가능

(실행 권한을 바꿀 땐 chmod 755 name.sh)

 

-변수

1) 변수를 사용전에 미리 선언하지 않으며, 처음 변수에 값이 할당되면 자동으로 변수가 생성됨

2) 모든 변수값은 문자열로 취급한다.

3) 변수이름은 반드시 대소문자를 구분한다.

4) 변수를 대입할 땐 "=" 좌우에 빈칸이 없어야 한다.

 

-변수의 입력과 출력

특수문자가 들어간 문자를 그대로 출력하기 위해선 ' '로 묶어주거나 \를 붙여야 한다. 

 

var1.sh

#!/bin/sh
myvar="Hello sorry Choi"
echo $myvar                  //Hello sorry Choi 출력
echo "$myvar"                //Hello sorry Choi 출력
echo '$myvar'                //$myvar 출력
echo \$myvar                 //$myvar 출력
echo 값 입력 :               //값 입력:   출력
read myvar                   //입력대기
echo '$myvar' = $myvar        //입력받은 값 출력
exit 0

 

-숫자계산

변수에 숫자를 넣어도 문자열로 취급하는 속성이 있다. 따라서 숫자 계산을 하기 위해선

   `expr `    키워드를 사용해야 한다.

수식에 괄호를 사용하려면 괄호앞에 \(역슬래시)를 붙여줘야 한다. *(곱하기)에도 붙여줘야한다.

 

numclac.sh

#!/bin/sh
num1=100                                    //$num1 => 문자열 100
num2=$num1+100                              //$num2 => 문자열 100+200
echo $num2                                  //100+200을 출력
num3=`expr $num1 + 200`                     //$num3 => 300
echo $num3                                  //300 출력
num4=`expr /( $num1 + 200 \) / 10  \* 2`    //(100+200) / 10 * 2
echo $num4                                  //60
exit 0

 

-파라미터 변수

파라미터 변수는 $0 , $1 , $2 등의 형태를 갖는다.

명령어 파일명(변수0) 변수1 변수2 변수3 순서로 오게 된다.

 

#기본 If문

if [ _조건_ ]        //조건문 앞뒤로 한칸씩 띄워주어야 한다.

then

   참일 경우 실행

fi

 

# if ~ else문

if [ 조건 ]

then

   참일 경우 실행

else 

   거짓일 경우 실행

fi

 

-비교연산자

문자열 비교 결과
"문자열1" = "문자열2" 두 문자열이 같으면 참
"문자열1" != "문자열2" 두 문자열이 같지 않으면 참
-n "문자열" 문자열이 NULL이 아니면 참
-z "문자열" 문자열이 NULL이면 참

 

-산술연산자

산술비교 결과
수식1 -eq 수식2 두 수식이 같으면 참
수식1 -ne 수식2  두 수식이 같지 않으면 참
수식1 -gt 수식2 수식1이 크면 참
수식1 -ge 수식2 수식1이 크거나 같으면 참
수식1 -lt 수식 2 수식1이 작으면 참
수식1 -le 수식2 수식1이 작거나 같으면 참
!수식 수식이 거짓이면 참

 

'Web Programming > Ubuntu Linux' 카테고리의 다른 글

[Ubuntu Linux] 3. HDD관리 실습  (0) 2019.05.20
[Ubuntu Linux] 2.HDD 관리  (0) 2019.05.18
[Ubuntu Linux] 1. 기본개념 및 명령어  (0) 2019.05.18