여기 답변에서 일부 코드를 찾아 필요에 맞게 조정했지만 이제 두 가지 질문이 있습니다.
질문 1:Case 문의 코드가 완료된 후 옵션 텍스트를 표시하려면 어떻게 해야 합니까? 이렇게 하면 사용자가 옵션을 다시 볼 수 있습니다.
질문 2:스크립트를 실행할 때 각 옵션이 별도의 줄에 표시되도록 할 수 있습니까? 아직 아님.
options=(
"quit/exit"
"new rational db"
"run php for rational codebase"
"run php for playground codebase"
)
select option in "${options[@]}"; do
case "$REPLY" in
1) break;;
2) sudo -i -u db2inst1 bash -c "db2stop force;";;
3) rm /tmp/createDb2*;;
4) ;;
esac
done
답변1
Q1: 40자를 초과하려면 옵션 끝에 공백을 추가하세요. 예:
options=(
"quit/exit"
"new rational db"
"run php for rational codebase"
"run php for playground codebase "
)
Q2: 더 우아한 방법이 있는지 확실하지 않지만(에서는 본 적이 없음 help select
) 다음과 같이 하면 작동합니다.
finished=
while test ! "$finished"; do
select option in "${options[@]}"; do
case "$REPLY" in
1) finished=1;;
2) sudo -i -u db2inst1 bash -c "db2stop force;";;
3) rm /tmp/createDb2*;;
4) ;;
esac
break
done
done