728x90

Linux/쉘스크립트 13

expr 연산자 예제

expr 연산자 expr는 역따옴표를 반드시 감싸준다. 역따옴표 대신 $(( )) 해줘도 동작은 한다. expr을 사용할 때 피연산자와 연산자 사이에 공백이 필요하다. 산술 연산할때 우선순위를 지정하기위해 괄호를 사용하려면 \처리를 해줘야 한다. 곱셈 문자 *는 \처리를 해주어야 한다. BASH #!/bin/bash number1=10 number2=20 plus=`expr $number1 + $number2` minus=`expr $number1 - $number2` mul=`expr $number1 \* $number2` # 곱셈에는 \* 를 이용한다. div=`expr $number1 / $number2` rem=`expr $number1 % $number2` echo "plus: ${plus}" ..

(shell script)매개 변수

매개 변수 프로그램에서도 실행할때 인자를 주듯 쉘 스크립트도 역시 그렇게 할 수 있다. 실행한 스크립트 이름은 ${0}, 그 이후는 전달받은 인자 값들이다(${1}, ${2}, ...) 종류 설명 $0 실행된 셸 스크립트명 $1 스크립트에 넘겨진 첫 번째 아규먼트 $2 스크립트에 넘겨진 두 번째 아규먼트 $3 S4 등등...쭈욱 이후 $숫자 그 이후 해당되는 아규먼트 $# 아규먼트 개수 $* 스크립트에 전달된 인자 전체를 하나의 변수에 저장하면 IFS 변수의 첫 번째 문자로 구분 $@ $*와 동일한데 다른 점은 IFS 환경 변수를 사용하지 않는다는 점. $! 실행을 위해 백그라운드로 보내진 마지막 프로그램 프로세스 번호 $$ 셸 스크립트의 PID $? 실행한 뒤의 반환 값 (백그라운드로 실행된 것 제외)..

쉘스크립트(shell script) 예제

쉘 변수 선언 변수의 타입에는 로컬변수와 전역변수, 환경변수, 예약변수, 매개변수 등 다양하게 존재한다. 변수는 대, 소문자를 구별한다. 변수의 이름은 숫자를 포함할 수 있지만, 숫자로 시작할 수 없다. 변수에는 모든 값을 문자열로 저장된다. 변수에는 자료형을 기입하지 않는다. (int number, char names[10]), 즉 아무런 값을 다 넣을 수 있다. 값을 사용할 때는 변수명 앞에 특수문자 "$"를 사용한다. (Ex. echo ${data}) 값을 대입(삽입)할 때는 특수문자 "$"를 사용하지 않는다. (Ex. data=mac) 변수를 생성할 때는 "=" 대입문자 앞뒤로 공백이 없어야 한다. (Ex. data="abcd") BASH #!/usr/bin/bash name="inpa" # 변수..

728x90