Bash shell에서 select 명령어를 사용하여 아래와 같이 사용자에게 선택할 수 있는 메뉴를 보여주고 선택한 것을 입력 받을 수 있습니다.
1) Apple
2) Wiki
3) Melon
4) Grape
Please select one: 1
select에 대해서 자세히 알아보겠습니다.
1. Syntax
syntax는 다음과 같습니다. PS3
는 사용자에게 선택을 요청하는 메시지가 됩니다. select
키워드에 옵션을 나열하고, 사용자가 선택한 아이템이 val
에 입력됩니다.
#!/bin/bash
PS3='<Message>:'
select val in "Option1" "Option2" "Option3" ...
do
echo "<Result>: $val"
break
done
gnu - bash 페이지에서 PS3 변수는 select 명령어의 프롬프트 메시지로 사용된다고 합니다.
2. Example 1
다음 예제는 사용자에게 선택할 수 있는 옵션을 보여주고 사용자로부터 선택을 입력받습니다.
#!/bin/bash
PS3='Please Select one: '
select fruit in "Apple" "Wiki" "Melon" "Grape"
do
echo "The one you have selected is: $fruit"
break
done
exit 0
Output:
$ bash example.sh
1) Apple
2) Wiki
3) Melon
4) Grape
Please Select one: 1
The one you have selected is: Apple
3. Example 2
select 명령어의 프롬프트 메시지로 사용되는 PS3
변수가 설정되지 않으면 아래와 같이 #?
으로 출력됩니다.
#!/bin/bash
select fruit in "Apple" "Wiki" "Melon" "Grape"
do
echo "The one you have selected is: $fruit"
break
done
exit 0
Output:
$ bash example.sh
1) Apple
2) Wiki
3) Melon
4) Grape
#? 1
The one you have selected is: Apple
Loading script...
Related Posts
- Bash Shell - 문자열에서 마지막 문자 N개 제거
- Bash Shell - 문자열에서 첫번째 문자 N개 제거
- Bash Shell - 실행 시간 측정 방법
- Bash Shell - 나눗셈에서 버림, 올림, 반올림 처리
- Bash Shell - 숫자가 양수인지 음수인지 확인하는 방법
- Bash Shell - 자신의 스크립트 파일 이름 가져오기
- Bash Shell - 문자열 출력 방법(echo, printf)
- Bash Shell - seq 명령어로 반복문 구현 및 예제
- Bash Shell - File 테스트 연산자
- Bash Shell - 무한 루프 (Infinite loop)
- Bash Shell - 숫자 비교 연산자
- Bash Shell - 문자열 비교 연산자
- Bash Shell - 대문자, 소문자로 변환 (Uppercase, Lowercase)
- Bash Shell - 스트립트를 root로 실행했는지 확인
- Bash Shell - 명령어 실행 결과를 변수에 저장
- Bash Shell - select로 선택 메뉴 구현
- Bash Shell - 변수가 정의되었는지 확인하는 방법
- Bash Shell - sleep 함수, 특정 시간 멈추기
- Bash Shell - 파일이 존재하는지 확인
- Bash Shell - 문자열 자르기 (substring, split)
- Bash Shell - 날짜, 시간 가져오기
- Bash Shell - Case 조건문
- Bash Shell - 파일 읽는 방법
- Bash Shell - 사용자로부터 입력 받기
- Bash Shell - 문자열을 연결하는 방법
- Bash Shell - 파일 생성 및 문자열 추가
- Bash Shell - 숫자 변수 증가/감소 시키기
- Bash Shell - 배열 할당, 길이, 객체 포함 여부 확인
- Bash Shell - 문자열 비교, 문자열 포함 여부 확인
- Bash Shell - 변수 선언, 할당
- Bash Shell - 조건문(if-else)
- Bash Shell - 숫자 연산 (더하기, 빼기, 곱하기, 나누기)
- Bash Shell - 반복문(for, while, until loop)
- Bash Shell - Command Line으로 전달된 인자 받기
- Bash Shell - 함수(Function)