레벨240-2 : 쉘프로그램내에서 read명령어로 사용자의 입력내용을 기본변수 REPLY에 받아들이기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,363 조회
- 0 추천
- 목록
본문
레벨240-2 : 쉘프로그램내에서 read명령어로 사용자의 입력내용을 기본변수 REPLY에 받아들이기
앞서 말씀드린바와 같이 read명령어는 쉘프로그램내에서 사용자의 입력내용을 특정변수에 저장하기 위한 목적으로 사용됩니다. 이때 입력한 내용을 받아들일 변수가 지정되지 않았을 경우에는 기본변수인 REPLY에 자동 저장됩니다.
아래의 간단한 쉘프로그램은 이번 예를 위해 만든 것으로 read명령어로 받아들인 입력내용을 기본변수인 REPLY 에 저장하여 echo명령어로 이를 출력하는 것입니다. cat명령어로 이 쉘프로그램의 예를 보면 다음과 같습니다.
[root@command root]# cat read01.sh #!/bin/bash
read echo $REPLY [root@command root]# |
위의 쉘프로그램이 실행되면 read라는 행에서 사용자의 입력을 받기 위하여 대기하게 됩니다. 이때 받아들일 변수명이 지정이 되어있지 않기 때문에 입력된 내용은 기본변수인 REPLY에 자동 저장됩니다.
그리고 “echo $REPLY”문에서 REPLY변수에 저장된 내용을 출력합니다.
아래는 이를 실행한 예입니다. 참고로 작성한 쉘프로그램을 실행하기 위해서는 실행퍼미션이 설정되어야 합니다. 즉, 아래와 같이 실행 가능하도록 설정하려면 “chmod 755 read01.sh”와 같이 쉘프로그램에 실행퍼미션이 주어져야만 합니다.
[root@command root]# ./read01.sh Parksungsoo Parksungsoo [root@command root]# |
위의 결과에서 첫번째 “Parksungsoo”는 read명령문을 만나서 사용자가 입력한 내용이며 두번째 “Parksungsoo”는 echo문에 의해서 REPLY변수에 저장된 내용이 출력된 것입니다.
관련자료
-
이전
-
다음