사용자 인터페이스_05 사용자 키 입력을 한 글자만 받기(Enter 키 불필요)
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: stty, case, dd
키워드: 키보드, 입력, 줄바꿈, Enter
사용처: 키보드에서 글자 하나가 입력되면 Enter입력 없이 처리를 속행하고 싶을 때
실행예제
$ ./getchar.sh
Type Your Answer [y/n] : y
Input : Yes
스크립트
#!/bin/sh
echo -n "Type Your Answer [y/n]: "
# 현재 터미널 설정을 셸 변수 tty_state에 백업하고
# 터미널을 raw 설정함
tty_state=$(stty -g) #--------------------...
사용자 인터페이스_04 암호 입력 시 사용자 키 입력을 표시하지 않기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: stty, read, wget, curl
키워드: 암호
사용처: 사용자가 암호를 입력하는 처리에서 입력된 문자열을 화면에 표시하고 싶지 않을 때
실행예제
$ ./pass_wget.sh
Password : <--------- 입력한 값이 표시되지 않음
스크립트
#!/bin/sh
username=guest
hostname=localhost
echo -n "Password: "
#에코백 OFF(-echo)
stty -echo #------------------------------------- 1
read...
사용자 인터페이스_03 키보드에서 사용자 키 입력을 획득해서 변수값으로 이용하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: read
키워드: 표준 입력, 키보드
사용처: 키보드에서 입력받은 값을 써서 대화형 처리를 하고 싶을 때
실행예제
$ ./read.sh
Enter your ID: guest
Now your ID is geust <----------- 입력된 값을 표시
스크립트
#!/bin/sh
echo -n "Enter your ID: "
read id #--------------------- 1
echo "Now your ID is $id" #--- 2
해설
이 스크립트는 사용자가 키보드로 ID를 입력...
사용자 인터페이스_02 키보드에서 Ctrl +c를 입력했을때 현재 상태를 출력하며 종료하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: trap, exit, curl, sleep
키워드: 시그널, 트랩, 종료
사용처: 시간이 오래 걸리는 처리나 무한 반복 처리에서 사용자가 도중에 종료를 하기 위해서 Ctrl + C 키를 입력하더라도 종료하기 전에 어떤 처리를 했는지 확인하고 싶을 때
실행예제
$ ./sigint.sh http:/www.example.org/
% Total % Received % Xferd Average Dload Speed Upload Time Total Time Spent Time Left Current Speed
100 1270 100 127...
사용자 인터페이스_01 명령어 옵션 처리하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: getopts, case, shift
키워드: 옵션, 플래그, 명령행 인수
사용처: 스크립트에서 (-a 같은) 옵션을 해석해서 동작을 변경할 때
실행예제
$ ./getopts.sh -a -p '=====sep=====' /home/user1/docs
. .. a.txt readme.txt
=====sep=====
스크립트
#!/bin/sh
# -a 옵션이 있는지 플래그 변수 a_flag와
# -p 옵션의 구분자를 정의하기
a_flag=0 #-----------------------------------------...
bash_09 정수값으로 난수 얻기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: nc, echo, sleep
키워드: 난수, 정수
사용처: 외부 명령어를 사용하지 않고 셸 스크립트만으로 난수를 얻고 싶을 때
실행예제
$ ./bash-random.sh
Connection to 192.168.2.1 80 port [tcp/http] succeeded!
Wait: 4 sec.
Connection to 192.168.2.1 80 port [tcp/http] succeeded!
스크립트
#!/bin/bash
# 접속 정보 정의
ipaddr="192.168.2.1" #-------------------...
bash_08 간단한 메뉴를 표시해서 사용자가 선택할 수 있게 하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: select, case
키워드: 메뉴, 선택
사용처: 간단한 메뉴를 표시하고 사용자가 조작하게 만들고 싶을 때
실행예제
$ ./bash-select.sh
1) list file
2) current directory
3) exit
Menu: 2
/home/park/bin
Menu: 3 <------ 사용자가 3을 입력하면 스크립트 종료
스크립트
#!/bin/bash
# 메뉴 프롬프트 정의
PS3='Menu ' #------------------------------ 1
# 메뉴 표시 정의. 메뉴 각 항목...
197 post articles, 29 pages.