본문 바로가기

Shell Script

(5)
Shell Script: if 조건문 shell script 작성시 특정 조건을 비교해야할 경우가 많이 있습니다. 이 때 if문이나 case문을 사용하게 되는데, 일반적인 프로그래밍 언어에서는 중괄호 { } 로 조건문의 시작과 끝을 정의하지만 shell script에서는 다르게 정의합니다. 이부분을 제외하면 특별히 어려운 것은 없습니다. if statements if문은 3가지 용법으로 구분할 수 있습니다. if문만 사용하는 경우 if [ 조건 ] then 실행문 fi if [ $1 -eq 1 ] then echo "The value is 1" fi if else 문 if [ 조건문 ] then 실행문 else 실행문 fi if [ $1 -eq 1 ] then echo "good" else echo "bad" fi if elif 문 if [..
Shell Script 연산자 정리 Shell Script도 일반 프로그래밍 언어와 마찬가지로 다양한 연산자를 지원합니다. 주로 사용하는 연사자는 아래와 같이 구분할 수 있습니다. Arithmetic Operators Relational Operators Boolean Operators File Test Operators 산술 연산자(Arithmetic Operators) 일반적인 산술 연산과 동일하지만 사용법은 조금 다릅니다. 연산자 설명 + 두 값을 더한다. - 왼쪽값에서 오른쪽 값을 뺀다. * 두 값을 곱한다. / 나누기 % 나머지(모듈러) bash는 기본적으로 산술 연산자를 바로 사용할 수 없습니다. 산술 연산을 위해서는 아래의 예와 같이 expr을 사용하거나 변수 처리가 필요합니다. #!/bin/bash x=10 y=20 z=`e..
Shell Script - 변수 Shell Script 변수명 Shelle Script 작성 시 변수명은 알파벳, 숫자 모두 사용할 수 있다. '_' 이외의 특수문자는 사용할 수 없고 숫자로 시작할 수 없다. 일반적으로 변수명은 대문자로 사용한다. 예시> VAR_1, VAR2, 변수 사용하기 정의한 변수를 사용할 때는 $를 변수명 앞에 붙여준다. TEST_VAR="Test" echo $TEST_VAR 실행 결과 Test 특별한 변수들 $0 현재 실행중인 스크립트 파일 이름 $n 스크립의 Argument 숫자 $1, $2 등으로 입력한 argument의 값을 사용한다. $# 스크립트 실행시 입력되는 argument 개수 $* 모든 arguement, 입력 변수가 두 개라면 $*는 $1$2와 같다. $@ 모든 arguement로 $*과 유..
Shell Script 작성해보기 Shell의 개념 및 종류 Shell은 Unix(Linux) System에 Interface를 제공하는 것으로 명령이나 프로그램, script등의 실행 환경을 제공한다. Shell은 대표적인 shell로는 Bourne shell, C shell이 있고, Bourne shell은 Bourne shell, Korn shell, Bourne Again shell, POSIX shell 등 다양하게 나눠진다. 여기서는 흔히 사용하는 Bourne Again Shell(bash)을 기준으로 작성하고자 한다. Shell Script File은 아래의 예와 같이 #!로 시작해서 어떤 shell로 실행해야 하는지 명시해준다. #! /bin/sh #!/bin/bash #은 hash라고 읽고, !는 bang이라 불리는데, ..
Shell Script 개요 Shell Script는 Linux(Unix) 계열의 서버 개발이나, 서버의 운용, 유지 보수 등의 업무를 하는데 있어 효율성을 높일 수 있는 유용한 수단이다. 일반 프로그래밍에 비해 요구 기능이 단순한 경우가 많고, 스크립트 언어 자체가 어렵지 않고, 범용성이 있기 때문에 간단한 문법만 익혀도 다양한 기능을 구현할 수 있다. 예를 들어, 서버 운용자라면 여러 명령을 일일이 수행하던 것을 스크립트로 작성하여 일괄 수행한다 거나, 원하는 시간에 수행하고, 저장된 결과물을 추후 확인하는 등 유용하게 사용할 수 있고, Database를 운용하는 경우, 원하는 Data를 SQL문을 통해 UI의 도움 없이도 CSV 등으로 뽑아 낼 수 있다. 즉 내가 원하는 작업을 입맛대로 수행할 수 있는 다양한 옵션을 제공한다고..