-
[Bash] 프롬프트 및 사용자 입력 처리Bash 2023. 11. 5. 15:20반응형
Bash 스크립트를 사용하여 프롬프트 및 사용자 입력을 처리하고 질문에 응답하는 방법을 설명해 드리겠습니다.
1. 간단한 프롬프트 및 사용자 입력 처리:
아래 스크립트는 사용자로부터 이름을 입력받고 환영 메시지를 출력하는 예제입니다.#!/bin/bash # 사용자에게 이름을 묻는 프롬프트 표시 read -p "당신의 이름은 무엇인가요? " name # 사용자 입력을 변수에 저장하고 환영 메시지 출력 echo "안녕하세요, $name님! 환영합니다."
read -p 명령어는 사용자로부터 입력을 받는 명령어입니다. -p 옵션은 사용자에게 보여줄 프롬프트 메시지를 설정합니다.
사용자의 입력은 name 변수에 저장됩니다.
마지막으로, 환영 메시지를 출력합니다.
2. 예/아니오 질문 처리:
아래 스크립트는 사용자로부터 예/아니오 질문에 응답을 받고 그에 따라 다른 동작을 수행하는 예제입니다.#!/bin/bash # 사용자에게 예/아니오 질문을 표시 read -p "계속 진행하시겠습니까? (예/아니오): " response # 대문자로 변환하여 사용자 응답 처리 response=$(echo $response | tr '[:upper:]' '[:lower:]') if [ "$response" == "예" ]; then echo "계속 진행합니다." # 이곳에 추가적인 코드 추가 가능 else echo "종료합니다." # 이곳에 다른 종료 동작 추가 가능 fi
사용자 입력을 받은 후, tr 명령어를 사용하여 입력을 소문자로 변환합니다.
if 문을 사용하여 사용자의 응답을 확인하고 다른 동작을 수행합니다.
3. 사용자 입력 유효성 검사:
아래 스크립트는 사용자로부터 숫자 입력을 받고 유효성을 검사하는 예제입니다.#!/bin/bash while true; do read -p "양의 정수를 입력하세요: " number if [[ $number =~ ^[0-9]+$ ]]; then echo "유효한 입력입니다: $number" break else echo "유효하지 않은 입력입니다. 양의 정수를 입력하세요." fi done
while 루프를 사용하여 사용자가 유효한 입력을 제공할 때까지 반복합니다.
[[ $number =~ ^[0-9]+$ ]]는 사용자 입력이 양의 정수인지 확인하는 정규 표현식입니다.
유효한 입력이 제공되면 루프가 종료됩니다.
이러한 예제는 사용자 입력을 처리하고 질문에 응답하는 방법을 보여주며, 프롬프트와 사용자 입력을 효과적으로 다루는 데 도움이 됩니다. 필요에 따라 이러한 예제를 수정하거나 확장하여 원하는 스크립트를 작성할 수 있습니다.반응형'Bash' 카테고리의 다른 글
[Bash] 커맨드 라인 인수 처리 (2) 2023.10.28 [Bash] 실행권한 (1) 2023.10.28 [Bash] SSH SCP (1) 2023.10.28 [Bash] 로그 파일 관리 (0) 2023.10.28 [Bash] 환경 변수 (3) 2023.10.28