Linux 셸 select 메뉴 구현 코드 선택

2411 단어 shellselect
셸 아래 메뉴 가 필요 하 다 고 가정 하면 순환 과 read 를 사용 하여 상호작용 을 할 것 입 니 다.학습 에서 select 가 셸 아래 에서 이러한 상호작용 메뉴 를 편리 하 게 실현 할 수 있 음 을 발견 하 였 습 니 다.
1.문법 선택

select var in ...
do
	#your code
done
2.예시

#! /bin/bash
 
echo "what is your favorite color :" 
select color in "red" "blue" "green" "white" "black"
 do
     echo "you choose is $color"
     break
 done
Bash Shell 의 select 명령 은 예제 를 간단하게 사용 합 니 다.
머리말
오늘 마침 자동화 패키지 스 크 립 트 를 써 서 bash 셸 을 다시 사 용 했 습 니 다.행복 합 니 다.여 기 는 주로 select 명령,이 명령 을 소개 하고 싶 습 니 다.
메뉴 선택 기능 을 완성 하 는 데 도움 을 줄 수 있 습 니 다.
격식.
저도 오늘 처음으로 select 프로 세 스 통 제 를 사 용 했 습 니 다.phop,자바,C 등 언어 에서 select 기능 을 실현 하지 못 했 습 니 다.Bash Shell 에서 select 형식 은 다음 과 같 습 니 다.
다음:

select $var in ${list[@]}
do
statements that can use $var
done
select 가 실 행 될 때 list 배열 에 따라 선택 메뉴 를 제공 합 니 다.사용자 가 선택 한 결 과 는$var 변수 에 저장 한 다음 statements 문 구 를 실행 합 니 다.실행 완료
사용자 가 선택 할 때 까지 메뉴 를 다시 드 립 니 다.사용자 가 순환 을 선택 하려 면 순환 체 에서 조건 에 따라 break 문 구 를 추가 해 야 합 니 다.
예시
select 의 예 시 를 제시 하면 참고 할 수 있 습 니 다.

#!/bin/bash
fruits=(
"apple"
"pear"
"orange"
"watermelon"
)
echo "Please guess which fruit I like :"
select var in ${fruits[@]}
do
if [ $var = "apple" ]; then
echo "Congratulations, you are my good firend!"
break
else
echo "Try again!"
fi
done
예 2

#!/bin/sh

select ch in "begin" "end" "exit"
do
    case $ch in
    "begin")
        echo "start something"
        ;;
    "end")
        echo "stop something"
        ;;
    "exit")
        echo "exit"
        break;
        ;;
    *)
        echo "ignorant"
        ;;
    esac
done;
실행 효과:
yuxuecheng@linux:~/shellSource> ./select_test.sh
1) begin
2) end
3) exit
#? 1
start something
#? 2
stop something
#? 4
ignorant
#? begin
ignorant
#? 3
exit
설명:select 는 순환 선택 이 며,일반적으로 case 문장 과 사용 합 니 다.

좋은 웹페이지 즐겨찾기