사용자 인터페이스_10 파일 압축 시 실행 상태를 표시하는 진행바 표시하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: pv, tar, gzip
키워드: 압축, 진행바
사용처: 시간이 오래 걸리는 파일 처리 등에서 화면에 진행 상태를 나타내고 싶을 때
실행예제
$ ./tar-pv.sh
693MB 0:00:42 [16.4MB/s] [ <=> ]
스크립트
#!/bin/sh
DATA_DIR=/myapp/datadir
cd $DATA_DIR #------------------------------------------------- 1
tar cf -bigfile1.dat b...
사용자 인터페이스_09 달력을 이용해 특정 날짜의 로그 파일 삭제하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: dialog, awk, rm
키워드: 다이얼로그, 달력, 대화형, 선택
사용처: 날짜를 지정하는 대화식 달력을 표시해서 선택하고 싶을 때
실행예제
$ ./dialog-calendar.sh
스크립트
#!/bin/sh
LOG_DIR=/myapp/ap1/log
# dialog 명령어로 달력 출력
# 선택한 날짜는 표준 에러 출력이므로 임시 파일에 리다이렉트
dialog --calendar "Select Date" 2 60 2>cal.tmp #--------------- 1
# 달력 기능은 일/월/년 형식으로 ...
사용자 인터페이스_08 표시 문자 색 변경하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: echo
키워드: 터미널, 색상
사용처: 메시지 표시에 문자색을 바꾸거나 반전시키는 증 주의를 끌고 싶을 때
실행예제
$ ./color.sh
Script Start.
Importan Message <----- 색이 변함
Script End.
스크립트
#!/bin/sh
echo "Script Start."
# 배경을 회색(47), 문자색을 빨강(31)으로 바꿈
echo -e "\033[47;31m Important Message \033[0m" #--- 1
echo "Script End."
...
사용자 인터페이스_07 선택식 메뉴를 표시해서 입력된 숫자값 처리하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: read, case
키워드: 표준 입력, 키보드
사용처: 키보드로 입력한 값을 써서 대화식 처리를 하고 싶을 때
실행예제
$ ./select.sh
Menu :
1) list file
2) current directory
3) exit
2
/home/user/
Menu :
1) list file
2) current directory
3) exit
3
스크립트
#!/bin/sh
while :
do
echo "Menu"
echo "1) list file"
echo "2) current directory"
...
사용자 인터페이스_06 파일을 읽어서 처리할 때 키보드에서 입력받기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: tty, read
키워드: 표준 입력, 키보드, 외부 파일
사용처: read 명령어로 파일에 읽어들이는 처리 도중에 read 명령어로 키보드에서 입력받고 싶을 때
실행예제
$ ./read-redirect.sh
Input Target Directory :
/home/user1/test <---------- 키보드에서 디렉터리 입력
data1.txt data2.txt
스크립트
#!/bin/sh
tty=`tty` #-------------------- 3
while read question #--------...
사용자 인터페이스_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...
195 post articles, 28 pages.