728x90

Shell Script 9

Shell Script - 에러 처리

set trap 부록 이번에는 쉘 스크립트의 에러 처리를 알아보자. 스크립트를 실행하다가 에러가 발생하면 당연히 문제가 많이 생긴다. 에러 처리를 위한 대표적인 명령 중 set과 trap을 살펴보자. 1. set set 명령은 쉘에서 사용되는 옵션 및 위치 매개변수의 값을 설정 또는 해제하거나 쉘 변수의 이름 및 값들을 출력하는 데 사용된다. 대표적으로 다음과 같은 옵션을 갖는다. -a: 내보내기(export)를 위해 수정되거나 생성된 변수를 표시합니다. -b: 작업 종료를 즉시 알립니다. -e: 명령이 0이 아닌 상태로 종료되면 바로 종료합니다. -f: 파일 이름 생성(globbing)을 비활성화합니다. -h: 명령이 찾아질 때마다 명령의 위치를 기억합니다. -k: 모든 할당 인수를 명령의 이름 앞뒤 ..

Shell Script 2024.01.10

Shell Script 기초(7)

산술 연산 expr, let while and until loop for-loop 과제 1. 산술 연산 expr, let 앞 포스트에 expr과 let의 차이를 간단하게 비교 설명해 놓았다. 조금 더 자세하게 차이를 비교해보자. type : 특정 명령어 유형을 확인하기 위한 명령어 type 명령을 써서 차이를 확인해보면 다음과 같다. apple@lww:~/bin$ type expr expr is /usr/bin/expr apple@lww:~/bin$ type let let is a shell builtin let 은 bash shell에 내장된 명령이다. expr은 command로 지원되는 명령이다. let은 bash shell에 종속된 명령이기에 다른 shell로 접근하게 되면 let 명령은 사용할 수..

Shell Script 2023.11.28

Shell Script 기초(6)

exit test if ~ then case 과제 1. exit exit 명령어는 쉘 스크립트나 쉘 세션을 종료하는 데 사용된다. 이 명령어는 스크립트나 쉘에서 실행 중인 프로세스를 종료하고 해당 프로세스의 상태 코드를 반환한다. 일반적으로 exit 명령어는 특정 조건이나 성공적인 실행 후에 스크립트를 종료하는 데 사용된다. exit 명령어 뒤에는 종료 상태 코드(exit status)를 지정할 수 있다. 일반적으로 0은 성공을 나타내며, 1 이상의 값은 실패를 나타낸다. $? : 앞에서 실행한 명령의 종료 코드값이 저장됨 종료 코드 0 성공 (Success) 1 일반적인 오류 (General Error) 2 잘못된 셸 명령 (Misuse of Shell Builtins) 126 실행 권한이 없음 (Pe..

Shell Script 2023.11.27

Shell Script 보안 - 코드 인젝션 취약점

https://it-sol.tistory.com/27 Shell Script 기초(5) echo read printf 실습 1. echo print text to standard output 해석하자면 텍스트를 표준 출력으로 나타내라는 의미다. echo 는 우리가 텍스트를 화면에 출력하기 위해 사용한다. 사용방법 : echo [옵션] [문자열] it-sol.tistory.com 문제점 보안 이슈 위 글의 마지막 실습에 대한 문제에 대해 언급하려고 한다. 1. 문제점 read 명령어를 통해 사용자 입력을 전달할 때 디렉토리 경로에 대한 입력 중 '~' 이라는 문자는 허용되지 않는다. input-exam3.sh #!/bin/bash #: Usage : input-exam.sh #: Description : ..

Shell Script 2023.11.24

Shell Script 기초(5)

echo read printf 실습 1. echo print text to standard output 해석하자면 텍스트를 표준 출력으로 나타내라는 의미다. echo 는 우리가 텍스트를 화면에 출력하기 위해 사용한다. 사용방법 : echo [옵션] [문자열] 옵션 echo 명령을 이용할 때 다음 옵션과 함께 이용할 수 있다. -n : 메시지 출력 후 newline 문자를 추가하지 않는다. -E : Escape 시퀀스를 무시하고 그대로 출력한다(기본값). -e : Escape 시퀀스를 해석하여 특별한 의미를 지정한다. Escape 시퀀스 \\ backslash \a alert (BEL)\ \b backspace \c produce no further output \e escape \f form feed \..

Shell Script 2023.11.24

Shell Script 기초(4)

Positional Parameters 실습 1. Positional Parameters 위치값을 가지는 매개변수를 의미한다. 한가지 예를 들면 다음과 같다. cp /etc/passwd /home/ubuntu/ $0 $1 $2 위와 같이 $1, $2 .... 등으로 명령어를 실행했을 때 주어진 매개변수를 위치값으로 치환하여 스크립트로 전달할 수 있다. 매개변수가 1 ~ 9개 까지는 그냥 숫자만 쓰면 되지만 10번째 부터는 ${10} 으로 중괄호로 묶어줘야한다. 대략 표로 나타내면 다음과 같다. Positional Parameters Name of shell script $0 First argument $1 Second argument $2 Tenth argument ${10} Number of argum..

Shell Script 2023.11.24

Shell Script 기초(3)

Shell Script 란 기초 실습 Sub Shell 1. Shell Script 란 Shell Script는 운영 체제의 명령어를 자동화하고 실행하기 위한 스크립트 언어다. 주로 Unix 계열 및 Linux 시스템에서 사용되며, 쉘 (Shell) 환경에서 명령어를 순차적으로 실행하도록 하는 스크립트를 작성하는 데 사용된다. 2. 기초 실습 Shell Script 파일 생성 # Shell Script 파일 하나 만들어보기 cat > test.sh echo "=====================" date +%Y-%m-%d echo "=====================" df -h / df 는 파일시스템 별 디스크 사용량을 점검하는 명령어다.위와 같이 파일을 생성해서 실행시키면 입력한 명령어가 순차..

Shell Script 2023.11.23

Shell Script 기초(2)

Redirection Pipeline 1. Redirection 일반적으로 Communication Channels이라고 하면 사용자의 입력이 프로그램에 들어가고 프로그램의 결과가 터미널을 통해 출력된다. 입력은 '키보드', 출력은 '터미널'이라는 채널을 통해 전달이 되는데 이 전달 매체를 다른 방법으로 전환하여 전달하도록 하는 것이 Redirection이라고 할 수 있다. Communication Channels Redirection Characters 의 미 STDIN 0 표준 출력을 터미널이 아닌 파일로 출력 STDERR 2> 2>> 표준 에러 출력을 터미널이 아닌 파일로 출력 입력 mailx라는 명령을 통해 localhost에서 유저 간 메일을 주고 받는 과정에서 입력에 대한 Redirection..

Shell Script 2023.11.22

Shell Script 기초(1)

Shell 이란 변수 Metacharacters Quoting Rule Nesting Commands Alias Prompt 1. Shell 이란 쉽게 말하면 Shell 이란 사용자 명령어 해석기라고 할 수 있다. 우리가 윈도우 운영체제에서 보는 윈도우 프롬프트와 비슷하다. Shell은 사용자의 명령어를 해석하여 커널에게 전달하고 커널은 그 명령을 실행시킨다. Shell의 종류는 다양하지만 대표적으로 Bourne Shell(sh), C Shell(csh), Korn Shell(ksh), Bourne Again Shell(bash) 등이 있다. 조개가 진주를 감싸고 있듯 사용자와 운영체제 내부(커널) 사이 인터페이스를 감싸고 있기에 Shell이라는 이름이 붙었다. 2. 변수 프로그래밍 언어를 배워보신 분이..

Shell Script 2023.11.22
728x90