IT 이야기/Linux 셸 스크립트137 [Linux 셸 스크립트] 사용자 인터페이스 - 004 암호 입력 시 사용자 키 입력을 표시하지 않기 1. 사용 명령어 (1) stty (2) read (3) wget (4) curl 2. 키워드 & 사용처 (1) 키워드 암호 (2) 사용처 사용자가 암호를 입력하는 처리에서 입력된 문자열을 화면에 표시하고 싶지 않을 때 사용합니다. 3. 실행 예제 $ ./pass_wget.sh Password : 2021. 3. 2. [Linux 셸 스크립트] 사용자 인터페이스 - 003 키보드에서 사용자 키 입력을 획득해서 변수값으로 이용하기 1. 사용 명령어 (1) read 2. 키워드 & 사용처 (1) 키워드 표준 입력, 키보드 (2) 사용처 키보드에서 입력받은 값을 써서 대화형 처리를 하고 싶을 때 사용합니다. 3. 실행 예제 $ ./read.sh Enter your ID: guest Now your ID is geust 2021. 3. 2. [Linux 셸 스크립트] 사용자 인터페이스 - 002 키보드에서 Ctrl +c를 입력했을때 현재 상태를 출력하며 종료하기 1. 사용 명령어 (1) trap (2) exit (3) curl (4) sleep 2. 키워드 & 사용처 (1) 키워드 시그널, 트랩, 종료 (2) 사용처 시간이 오래 걸리는 처리나 무한 반복 처리에서 사용자가 도중에 종료를 하기 위해서 Ctrl + C 키를 입력하더라도 종료하기 전에 어떤 처리를 했는지 확인하고 싶을 때 사용합니다. 3. 실행 예제 $ ./sigint.sh http:/www.example.org/ %Total%Received%XferdAverage DloadSpeed UploadTime TotalTime SpentTime LeftCurrent Speed 100127010012700029030--:--:----:--:----:--:--9921 %Total%Received%XferdAve.. 2021. 3. 2. [Linux 셸 스크립트] 사용자 인터페이스 - 001 명령어 옵션 처리하기 1. 사용 명령어 (1) getopts (2) case (3) shift (4) expr 2. 키워드 & 사용처 (1) 키워드 옵션, 플래그, 명령행 인수 (2) 사용처 스크립트에서 (-a 같은) 옵션을 해석해서 동작을 변경할 때 사용합니다. 3. 실행 예제 $ ./getopts.sh -a -p '=====sep=====' /home/park/docs . .. a.txt readme.txt =====sep===== 4. 스크립트 #!/bin/sh # -a 옵션이 있는지 플래그 변수 a_flag와 -p 옵션의 구분자를 정의하기 a_flag=0 ① separator="" ① while getopts "ap:" option ② do case $option in a) a_flag=1 ③ ;; b) sepatat.. 2021. 2. 28. 셸(SHELL) 확인, 로그인 프롬프트, 셸 스크립트 작성법, 셀 스크립트 실행 방법 1. 셸(SHELL) 확인 방법 보통 터미널창에서 사용하는 셸을 '로그인셸'이라고 합니다. 현재 사용 중인 셸이 무엇인지를 알려주는 셸 변수 SHELL을 echo 명령어로 확인할 수 있습니다. $ echo $SHELL /bin/bash 일반적으로 FreeBSD는 tcsh, 리눅스와 Mac은 bash를 로그인셸로 사용합니다. 고성능을 지원하는 zsh로 있습니다. 로그인셸과 셸 스크립트를 실행하는 셸은 각각 별도이므로 같지 않아도 됩니다. 하지만 tcsh처럼 C셸 계열의 로그인셸을 이용할 때는 명령행에서 쓰는 문법과 셸 스크립트 문법이 일치하지 않으니 주의해야 합니다. 2. 로그인 프롬프트 echo 명령어 앞에 있는 $ 기호는 셸 프롬프트 기호입니다. 이것은 셸이 '지금 명령어 입력을 기다리고 있습니다. 뭔.. 2021. 2. 19. bash 설치 Mac이나 리눅스에는 bash가 기본 설치되어 있지만 FreeBSD는 기본 설치가 되어 있지않습니다. 또한, 최소 구성으로 설치하는 옵션을 선택한 리눅스라면 bash가 없을 수도 있습니다. 시스템에 bash가 존재하지 않으면 다음처럼 bash 명령어를 설치할 수 있습니다. FreeBSD 및리눅스(CentOS)에서 프롬프트가 #이면 root로 로그인하거나 su 명령어를 이용해서 root 사용자로 실행합니다. 1. FreeBSD # cd /usr/ports/shells/bash # make install 2. CentOS # yum install bash 3. Ubuntu # apt-get install bash 설치가 되면 --version 옵션으로 설치된 bash 버전을 확인합니다. # bash --ve.. 2021. 2. 19. 셸 스크립트 변수명 1. 대문자와 소문자 셸 스크립트는 변수명에 대문자, 소문자 어느 쪽도 사용할 수 있습니다. 문법적으로 정해진 것은 아니지만 보통은 다른 프로그래밍 언어와 마찬가지로 상수는 대문자로 변수는 소문자로 작성하는 것이 좋습니다. 또한, 환경 변수는 대문자로 적는것이 보통입니다. # 정의 파일명은 상수이므로 대문자 CONFIGFILE="myapp.conf" # 반복 카운터는 변수이므로 소문자 i=0 # 환경 변수는 대문자 MY_TMDIR="/var/tmp" export MY_TMPDIR 하지만 모든 변수명을 대문자로 적고 소문자는 전혀 사용하지 않는 사람도 있습니다. 프로젝트에 따라서는 코딩 규약 등으로 모두 대문자 변수를 사용하기도 하므로 그런 스크립트를 보더라도 놀라지 말기 바랍니다. 그리고 셸 스크립트에서.. 2021. 2. 19. 이전 1 ··· 11 12 13 14 다음