2007. 11. 1. 14:00 Unix/Shell
Shell Script에서 패스워드입력 감추기
ittoolbox 메일리스트의 unixadmin-l 메일리스트를 보다보니 다음과 같은 내용이 있어
가져왔습니다.
Command Line의 인수로 패스워드로 받는 경우 Shell에서는 패스워드를 숨길 수가
없어 다음과 같은 방식으로 처리합니다.
--------------------<원본>-------------------------
#!/usr/bin/sh
# 일반 유닉스에서 변수를 초기화(?)하는 듯
TEST1=
# 문자열을 입력받기 위한 프롬프트 출력
echo "Enter TEST1:"
# 화면 출력 off
stty -echo
# TEST1에 해당하는 값을 읽음
read TEST1
# 화면 출력 on
stty echo
# 화면에 인수 출력
echo "TEST1=${TEST1}"
# 끝!
exit
--------------------<원본끝>-----------------------
위의 내용을 Linux에서 사용하도록 변형
#!/bin/sh
TEST1=
# -n 옵션으로 한 줄에 표시
echo -n "Enter TEST1:"
stty -echo
read TEST1
echo ""
stty echo
echo "TEST1=${TEST1}"
exit
다음은 실행시의 화면(※ Enter TEST1: 이후에는 표시되지 않음)
반응형