728x90

bash 8

(bash shell) select 문

select 문 메뉴를 생성할 수 있는 루프 명령 list에 지정한 항목을 선택 가능한 메뉴로 만들어 화면에 출력 각 항목은 순서대로 번호가 붙여짐 사용자 입력을 위한 프롬프트로는 PS3 환경 변수에 저장된 문자열을 사용 사용자가 입력한 값은 select와 in 사이에 지정한 변수에 저장됨 형식 select 변수 in list do 명령 done 스크립트 예 $ cat -n test_select 1 #!/bin/bash 2 # 3 # test select 4 # 5 6 PS3=“Input command(1-3) :” 7 8 select cmd in pwd date quit # pwd=1, date=2, quit=3 9 do 10 case $cmd in 11 pwd) pwd ;; 12 date) date ..

(쉘스크립트) AWK 개념

AWK (Aho Weinberger Kernighan) 개념 AWK는 텍스트가 저장되어 있는 파일을 원하는 대로 필터링하거나 추가해주거나 기타 가공을 통해서 나온 결과를 행과 열로 출력해주는 프로그램 이다. 좀더 쉽게 말하자면, awk는 "awk programming language"라는 프로그래밍 언어로 작성된 프로그램을 실행 하는 명령어라고 이해하면 좋다. 즉, 리눅스에서 쉘 스크립트(Shell Script)로 작성된 파일이 리눅스 쉘(Shell)에 의해 실행되는 것처럼, awk가 "awk programming language" 문법으로 작성된 코드를 이해하고 실행 한다는 의미로 보면 된다. 명령어 예를 들자면, 다음과 같이 a.txt 파일이 있다고 하자. 파일내용은 다음과 같다. 1 2 3 4 만일..

카테고리 없음 2023.02.08

(shell script) 문자열 패턴 비교

문자열 패턴 비교 패턴 비교는 일종의 문자열을 연산하는 것으로 특정한 pattern을 놓고 변수의 문자열 값이 일부분이라도 이 패턴과 일치하는지 검사할 때 쓰인다. 이 패턴에는 와일드카드 문자 ( *, ?, [ ] 를 포함한 문자 세트)를 포함해도 된다. ${#var} 변수 var가 가지는 문자열의 길이를 구한다. ${var:-word} 1. 변수 var의 값이 null이 아니면 : var의 값을 반환, var의 값은 변하지 않는다. 2. 변수 var의 값이 null이면 : word의 값을 반환, var의 값은 변하지 않는다. ${var:=word} 1. 변수 var의 값이 null이 아니면 : var의 값을 반환, var의 값은 변하지 않는다. 2. 변수 var의 값이 null이면 : word의 값을 ..

쉘 배열문이란?

쉘 배열문 배열 생성 / 추가 BASH #!/bin/bash # 배열의 크기 지정없이 배열 변수 선언 # 굳이 'declare -a' 명령으로 선언하지 않아도 바로 배열 변수 사용 가능함 declare -a array arr=("test1" "test2" "test3") # 배열 선언 및 지정 echo ${arr[0]} # test1 # 기존 배열에 1개의 배열 값 추가 3가지 방법 arr[3]="test4" arr+=("test5") arr[${#arr[@]}]="test6" # 배열 길이를 인덱스로 사용해 push echo ${arr[@]} # arr의 모든 데이터 출력 echo ${arr[*]} # arr의 모든 데이터 출력 echo ${#arr[@]} # arr 배열 길이 출력 echo ${arr..

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