728x90
반응형

분류 전체보기 596

함수 만들기

​ 1. 기본 스크립트 함수 스크립트를 작성을 하다보면 동일한 Code를 여러개의 스크립트에 따로 작성해야 하는 경우가 많습니다. 이를 위해 공통으로 사용되는 스크립트의 Code들을 함수로 만들어 놓으면 나중에 작성 하는 스크립트에서는 전체 Code가 필요한게 아니라 단순히 함수만 호출 하는 형태로 스크립트 작성이 가능 합니다. ​ 함수 만들기 함수를 만드는 형식에는 두가지 형식이 있습니다. 아래를 참고 하시기 바랍니다. ​ 첫번째 형식: function이라는 키워드를 사용해 정의하는 방법 function name { commands } ​ 두번째 형식: 빈 괄호를 통해 함수라고 정의를 하는 형식 name() { commands } ​ 함수 이용하기 함수를 이용하는 예제를 한번 살펴 보겠습니다. #!/b..

쉘스크립트 2022.07.06

스크립트 제어

​ 1. 시그널 처리 하기 리눅스는 30개 이상의 시스템 상에서 사용할수 있는 시그날이 있습니다. 그 중 공통적인 시그널들은 아래표에 설명이 되어 있습니다. 기본적으로 bash shell은 sigquit(3)과 sigterm(15)은 무시를 하고 SIGHUP(1)과 sigint(2)는 처리를 합니다. bash shell이 SIGHUP을 수신을 하면 Shell에서 수행되고 있는 모든 프로세스에게 SIGHUP 시그널과 SIGINT를 전달을 합니다. 그리고 리눅스 커널은 shell processing time에 cpu상에서 해당 shell을 중단을 하고 이 shell에 의해 시작된 모든 프로세스에게 이 상황을 전달하기 위해 sigint 신호를 전달을 합니다. shell script들의 기본 동작은 이런 시그널..

쉘스크립트 2022.07.06

데이터 표현하기

​ 1. 입력과 출력 이해하기 지금까지 데이터의 출력은 모니터로 보내거나 또는 파일로 보내거나를 진행해 보았습니다. 하지만 가끔은 특정 데이터는 모니터로 보내고, 특정 데이터를 파일로 보내고 싶은 경우가 있을겁니다. 그럼 지금부터 스크립트에서 어떻게 그렇게 사용할수 있는지 알아 보도록 하겠습니다. ​ 표준 파일 디스크립터 리눅스 시스템은 모든 객체를 파일로 취급을 합니다. 출력과 입력도 모두 파일로 처리가 되는데요. 이 파일 디스크립터는 음이 아닌 정수이고 하나의 세션에서 최대 9개의 파일 디스크립터를 열수 있습니다. bash shell에서는 첫번째 부터 3개의 파일 디스크립터를 예약을 해놓고 있습니다. (0번, 1번, 2번) ​ STDIN 표준 입력 파일 디스크립터는 shell로의 표준 입력값을 참조 ..

쉘스크립트 2022.07.06

사용자 입력 데이터 처리

​ 1. Command Line 파라메터 입력 스크립트에 입력 데이터를 전달 하는 방법 중 기본적인 방법은 명령어 라인에 입력 데이터를 직접 전달 하는것입니다. 전달 방법은 아래와 같이 명령어 라인에 직접 전달 하면 됩니다. $./test 10 20 ​ 파라메터 읽기 Bash Shell은 위와 같이 명령어 라인에 입력되는 데이터를 처리 하기 위해 positional parameter라고 하는 특별한 변수를 할당 합니다. 이 변수는 $0 ~ $9번까지 할당이 가능하고 0번은 스크립트 파일의 이름이 저장되고 1번 부터 순차적으로 명령어 라인에 입력된 값들을 저장하게 됩니다. ​ 예제를 하나 만들어 봅시다. #!/bin/bash # 명령어 라인에서 데이터 한개 입력 받기. factorial=1 for (( n..

쉘스크립트 2022.07.06

세부 구조적인 Shell 명령어

​ 1. For 명령어 For 명령어는 반복적인 일을 처리할때 아주 유용한 명령어 입니다. 사용구문은 아래와 같습니다. for var in list do commands done 반복적인 변수의 입력은 list를 통해서 제공을 해야 됩니다. do 와 done 사이에 실행할 명령어들을 입력을 시킵니다. ​ List에서 변수값 읽기 리스트를 사용하는 방법 중 하나는 아래와 같이 space로 값들을 분리 하여 나열하는 방법 입니다. #! /bin/bash # for 문에서 list 사용하는 예제 for test in seoul busan daegu daejun incheon kwangju do echo the next city is $test done # 실행을 시켜보면 아래와 같이 도시명들이 한줄씩 출력이 ..

쉘스크립트 2022.07.06

구조화된 명령어들

​ 1. If then 구문 사용하기 if-then 구문 스크립트에서 가장 많이 사용되는 구문중에 하나로 If ~ then문이 있습니다. 이 구문은 if 뒤에 정의되는 명령어들의 실행결과가(exit code 0) 정상수행이 되면 then 구문의 명령이 실행이되고 exit code가 0이 아니고 다른 code로 들어오면(명령어 정상 수행되지 않음) then문이 수행이 되지 않습니다. 기본적인 구문은 아래와 같습니다. ​ - 사용 구문 if command then commands fi ​ if command; then commands fi ​ 그럼 /etc/passwd 에 해당 사용자가 있으면 사용자의 bash shell파일을 리스트 하는 예제를 만들어 보겠습니다. $touch test10 $gedit te..

쉘스크립트 2022.07.06

기본 Shell 스크립트 작성

1. 한라인에서 명령어 여러개 수행하기 한개의 명령어 라인에서 여려개의 명령을 실행할때에는 명령어 사이에 세미콜론으로 분리하면 됩니다. $ date ; who Mon Sep 24 19:44:35 EST 2007 rich :0 2007-09-24 18:23 (console) rich pts/1 2007-09-24 18:24 rich pts/0 2007-09-24 18:42 barbara pts/2 2007-09-24 19:30 katie pts/3 2007-09-24 19:39 $ ​ 2. 스크립트 파일 작성하기 스크립트 파일을 작성할때에 항상 첫째줄에는 사용할 Shell을 아래와 같이 정의를 해야 합니다. $ touch test1 $gedit test1 #! /bin/bash # this is test ..

쉘스크립트 2022.07.05

[영어] Beauty 관용어구

안녕하세요! 좋은 아침 입니다. ^.^ 요즘 남성이나 여성이나 다들 미용에 관심이 많은데요. 오늘은 미(beauty)와 관련된 관영어구 몇개만 포스팅 해보겠습니다. to look(like) a million dollars(투 룩 어 밀리언 달러즈): '매우 좋아 보인다'라는 의미로 쓰입니다. 예문을 보면 She look like a million dollars since she lost all that weight 그녀는 체중감량하고 나서 부터 매우 좋아 보인다(이쁘다^.^) ​ dressed to kill(드레스 투 킬): '멋진 옷을 입다'라는 의미 입니다. 예문을 보면 Jasmin arrived at the party dressed to kill 자스민은 멋진 옷을 입고 퍼타애 도착 했다. (죽일만..

영어 2022.07.05

리눅스 파일 퍼미션

​ 1. 리눅스 시스템 보안 리눅스 시스템의 보안 핵심은 사용자 계정이다. 각각의 사용자는 로그인할때 어떤 사용자로 로그인 하느냐에 따라 권한이 부여가 됩니다. 이러한 권한의 설정은 /etc/passwd파일에 정보가 담겨 있습니다. $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin..

쉘스크립트 2022.07.05

환경 변수

리눅스 환경에서는 두가지 환경 변수가 있습니다. 하나는 Global 환경 변수이고, 다른 하나는 로컬 환경변수 입니다. Global 환경 변수는 리눅스 시스템의 전체에서 보여지는 환경 변수이고, 글로벌 환경변수는 모두 대문자로 생성이 됩니다. ​ 1. Global 환경변수 와 Local 환경 변수 확인 하는 방법 Global 환경변수를 보는 명령은 printenv이고 리눅스 시스템 로그인시 디폴트로 설정되는 값들이 보여 집니다. 아래 그림 참고 하시기 바랍니다. [printenv 출력 화면] 위의 화면에서 보듯이 Global 환경 변수의 종류가 너무 많습니다. 그럼 특정 변수만 보고 싶을때는 어떻게 해야 될까요? 'echo'명령을 사용하면 됩니다. 예를 들어서 HOME 환경 변수를 보고 싶다면 echo ..

쉘스크립트 2022.07.04
728x90