본문 바로가기

Shell11

:의 의미 및 기능 (shell 문법) 00 개요코드 분석 중 #!/bin/bash을 셔뱅으로 갖고 있는 shell script 안에서 : 만 있는 줄에 대한 정리 01 : 란1. 정의shell script에서 : 는 null command (널 명령어)로, 아무것도 하지 않는 명령어2. 사용 사례1) 기본값 설정변수가 비어 있거나 설정되지 않은 경우에 기본값을 설정할 때 사용될 수 있음이는 ${variable:-default} 구문을 통해 구현됨# VARIABLE이 설정되지 않았거나 빈 경우 기본값 "default_value" 사용echo ${VARIABLE:-default_value}2) 무한 루프while이나 util과 함께 사용 시 조건 없이 무한히 실행되는 루프 생성 가능while :do echo "무한 루프" sleep .. 2024. 9. 26.
#! 셔뱅이란 (shell) 00 개요shell script 맨 윗줄에 #! 뒤에 경로가 오는 문법에 대한 정리01 Shebang #!이란1. 정의Shebang은 script file의 첫 줄에 등장하는 특별한 문법으로, script 실행 시 어떤 interpretor(해석기)를 사용할지 시스템에 지시하는 역할을 함일반적으로 LINUX와 같은 UNIX기반 운영체제에서 사용됨이 문법은 #!로 시작하며, 그 뒤에 해당 스크립트를 실행할 인터프리터의 경로를 명시2. 문법1) 기본 형식#!/path/to/interpreter설명:#! 이후에 나오는 경로는 script를 실행할 interpretor(예: /bin/bash, /usr/bin/python)의 절대 경로2) /usr/bin/env의 사용#!/usr/bin/env python이 형.. 2024. 9. 10.
fatal (exit code variable 종료 상태 변수) 00 개요shell script에서 등장하기에 정리해 놓으려 한다...01 fatal이란1. fatal 정의'치명적인'2. fatal 변수의 역할쉘 스크립트에서 오류(error)의 여부를 나타냄즉, 쉘 스크립트에서 모든 유효성 검사가 끝난 후 쉘 스크립트의 오류에 관련해서 종료 상태를 나타냄fatal=1로 설정할 경우 스크립트 실행 중 오류가 있음을 의미, fatal=0으로 설정할 경우 스크립트가 정상적으로 실행됨을 의미오류 예시: 필수값이 누락돼거나 유효하지 않은 경우즉 fatal을 통해 쉘 스크립트 실행이 성공적으로 완료 됐는지, 오류가 발생했는지 판단오류가 감지됐을 경우 후속 작업 수행 또는 쉘 스크립트 실행을 중단하여 잘못된 결과나 추가적인 오류를 방지하는 데 중요한 역할을 함. 3. fatal .. 2024. 6. 7.
test (파일 확인 명령어) 00 개요역시나 shell script에서 등장하기에 정리해 놓으려 한다..01 test 명령어란1. test 정의시험 ㅎㅎ2. test 명령어 기능 파일 타입을 확인하고 값들을 비교한다파일의 존재 유무 / 타입 / 권한을 확인할 때 사용한다조건문이 들어가야할 위치에 test가 광범위하게 사용된다EXPRESSION이 주어졌을 경우, EXPRESSION에 의해 결정된 상태(true or false)와 함께 종료EXPRESSION이 없을 경우 기본값은 false 상태로 exit3. test 명령어 문법# test EXPRESSION # test # [ EXPRESSION ]# 띄어쓰기 주의! # [ ] # [ OPTION[ 도 명령문이기 때문에 반드시 대괄호 [ ] 와 expression 사이에는 빈칸이 있.. 2024. 6. 5.
while문 사용법 (shell script) 01 if 문 기본 사용법1. 기본 형식Shell에서 while문의 조건식은 문자로 표기되어있음예) ( , = ) 기호가 ( -eq, -lt ) 로 표기됨while 다음에 do, done으로 끝맺힘 [ ] 안에 값/조건식 앞뒤로 공백 없으면 스크립트 에러가 나므로 유의while [ 값1 조건식 값2 ]do 수행문 수행문done예시#! /bin/kshi=1while [ $i -lt 5 ]do echo $i i=$(($i+1))done-lt: less than즉, i가 5보다 작으면 계속 i 출출력값: 1 2 3 42. 조건문 종류비교 대상종류설명예문자열[ -z ]문자열의 길이가 0이면 참[ -z $VALUE ][ -n ]문자열의 길이가 0이 아니면 참[ -n $VALUE ]==문자열이.. 2024. 6. 4.
Shell Script 함수 만들기 00 개요Bash Shell 에서는 함수를 일종의 mini script처럼 다룸Bash Shell의 함수는 Shell Script의 구조과 작동하는 방식이 비슷01 Shell Script 함수 만들기 (Bash)Bash Shell에서 함수 생성 방식은 2가지 형태로 나뉨0. 주의사항함수를 정의한 후에 함수 사용 가능 (함수를 정의하기 전에 함수 호출 시 에러 발생)함수 재정의 시 이전에 만들어진 함수의 정의를 덮어씀 (override)Shell Script 상에서는 아무런 오류 메시지 없이 원해 함수의 정의를 덮어씌우므로 주의할 것1. 첫 번째 형식: 키워드 함수코드 블록에 함수 이름을 지정하는 키워드 함수function 함수명 { 명령어} 예시$ cat test.shfunction hello { .. 2024. 4. 30.
Shell 변수 (variable) 01 Shell 변수란쉘 변수는 숫자, 문자, 파일명 등 다양한 데이터 종류를 가질 수 있지만 할당될 시 문자열의 형태로만 할당됨즉, 셸 스크립트는 기본적으로 값의 타입이 없고 (untyped) 모두 문자열로 인식됨변수는 실제 데이터의 포인터 (pointer)쉘을 통해 변수를 생성, 값 할당, 값 해제 가능1. 변수 이름구성: 영문자 (대소문자 구분), 숫자, 언더스코어 (_)보통 대문자로 작성하는 것이 원칙불가능: 숫자로 시작, 언더스코어 (_) 외의 특수 문자2. 변수의 선언 (변수에 값 할당)1) 일반적인 형태# 스칼라 변수변수=값변수="값"VAR1=value # 예시VAR2="value" # 예시# 배열 변수변수=(값1 값2 값3 ...)VAR_ARRAY=(value1 value2 value3) .. 2024. 4. 30.
Shell, Shell Script, .sh란 01 Shell1. 정의사용자가 입력한 명령어 커널에게 전달될 때 해석기즉, 명령어 해석기이자 스크립트 언어해석 기능, 프로그래밍 기능, 사용자 환경 변수 설정 가능 2. 종류종류약자Bourne Shellbsh?C ShellcshKorn ShellkshBash Shellbash02 Shell Script (.sh 파일, 쉘 파일)1. 정의command line에서 특정 기능이 수행되도록 지정된 Script (명령어들의 집합)쉘에 의해 수행되도록 작성된 프로그램interpretor 방식으로 작동제어 구조에 따라 쉘 명령어나 함수 실행 가능즉, 평문의 텍스트 파일로 하나의 명령어처럼 실행될 수 있는 실행 가능한 프로그램쉘이 파일의 내용을 읽어 처리선택/반복 등의 프로그래밍 구조를 사용할 수 있음긴 작업, 반.. 2024. 4. 30.
case문 사용법 (shell script) 01 case문 기본 사용법1. 기본 형식case ~ in으로 시작, esac로 끝맺힘;;를 분기별 끝 또는 다음 줄에 입력하여 분기 종료 명시*)는 default과 같은 개념으로 생략 가능case 파라미터/입력값 in 조건1) 실행명령 ;; 조건2) 실행명령 ;; *) 앞의 조건들 미해당 시 실행명령esac02 case문 활용1. 전달 인자 (argument) 활용.sh 파일(본인)을 소싱(sourcing)할 때 .sh 파일 안에서 $# 전달 인자 (argument) 사용 가능$0은 스크립트명, 그 뒤에 올 $1, $2, $3, ... 전달 인자 계속 추가 가능예시root@server # cat case_script.sh#!/bin/bashcase $1 in appl.. 2024. 4. 30.