반응형
1. 사용 명령어 |
(1) read
2. 키워드 & 사용처 |
(1) 키워드
표준 입력, 키보드
(2) 사용처
키보드에서 입력받은 값을 써서 대화형 처리를 하고 싶을 때 사용합니다.
3. 실행 예제 |
$ ./read.sh
Enter your ID: guest
Now your ID is geust <- 입력된 값을 표시
4. 스크립트 |
#!/bin/sh
echo -n "Enter your ID : "
read id ①
echo "Now your ID is $id" ②
5. 해설 |
이 스크립트는 사용자가 키보드로 ID를 입력하면 셸 스크립트 내부에서 그 값을 변수로 이용하여 ID를 표시합니다.
셸 스크립트가 키보드에서 입력된 값을 얻으려면 read 명령어를 사용합니다. read 명령어는 ① 처럼 값을 넣고 싶은 변수를 인수로 받습니다. 즉 이 예제에서는 셸 변수 id에 사용자가 입력한 값이 대입되어 사용자 입력을 얻을 수 있습니다.
② 에서 입력된 값을 써서 메시지를 표시합니다. 변수 id에는 사용자가 입력한 ID가 대입되어 있으므로 입력된 ID에 따라 처리를 작성하면 됩니다.
한편, read 명령어로 여러 입력값을 받고 싶을 때는 다음처럼 read 명령어 뒤에 복수 개의 변수를 스페이스로 구분지어 나열합니다.
echo -n "Enter your ID NAME NUMBER : "
read id name number
사용자가 다음처럼 입력하면 변수 id에는 guest, 변수 name에는 Park, 변수 number에는 103이 들어갑니다.
Enter your ID NAME NUMBER : guest Park 103
사용자 입장에서 여러 값을 한 줄로 입력하는 방식은 불편합니다. 실제로는 하나씩 입력하는 편이 편리합니다.
echo -n "Enter your ID : "
read id
echo -n "Enter your NAME : "
read name
echo -n "Enter your NUMBER : "
read number
echo "Now your ID is $id."
echo "NAME : $name, NUMBER : $number"
<주의사항>
- read 명령어를 실행하면 사용자 입력을 기다리므로 스크립트 실행이 일시정지됩니다. 따라서 다음처럼 단순히 스크립트를 일시정지하고 싶을 때에도 read 명령어를 이용합니다. 이때 입력값은 필요없으므로 대입하는 셸 변수는 더미(dummy)입니다.
#!/bin/sh
echo "Input any key to continue..."
read dummy
echo "Script start."
참고서적 : 유닉스 리눅스 셸 스크립트 예제 사전
반응형
'IT 이야기 > Linux 셸 스크립트' 카테고리의 다른 글
[Linux 셸 스크립트] 사용자 인터페이스 - 005 사용자 키 입력을 한 글자만 받기(Enter 키 불필요) (0) | 2021.03.02 |
---|---|
[Linux 셸 스크립트] 사용자 인터페이스 - 004 암호 입력 시 사용자 키 입력을 표시하지 않기 (0) | 2021.03.02 |
[Linux 셸 스크립트] 사용자 인터페이스 - 002 키보드에서 Ctrl +c를 입력했을때 현재 상태를 출력하며 종료하기 (0) | 2021.03.02 |
[Linux 셸 스크립트] 사용자 인터페이스 - 001 명령어 옵션 처리하기 (0) | 2021.02.28 |
셸(SHELL) 확인, 로그인 프롬프트, 셸 스크립트 작성법, 셀 스크립트 실행 방법 (0) | 2021.02.19 |
댓글