Enter 키를 누르지 않고 Bash 선택 옵션

Enter 키를 누르지 않고 Bash 선택 옵션

다음과 같은 스크립트가 있습니다.

#!/bin/bash

clear

echo -n "Choose an option:
1) Encrypt
2) Decrypt
3) Quit
-> "

read opzione

if [ "$opzione" == "1" ]; then

echo -n "Drag here the file to encrypt: "
read chiaro
...
fi

숫자를 입력한 후 스크립트가 자동으로 숫자를 수락하도록 하고 싶습니다. 가능합니까?

감사해요

답변1

다음 옵션을 사용할 수 있습니다 -n chars.help read

  -n nchars return after reading NCHARS characters rather than waiting
        for a newline, but honor a delimiter if fewer than NCHARS
        characters are read before the delimiter

또는 최신 버전의 bash에서는 전체 구성을 select선택 목록을 구현하는 단일 문으로 바꿀 수 있습니다.

$ select opzione in "Encrypt" "Decrypt" "Quit"; do echo "You chose $REPLY"; done
1) Encrypt
2) Decrypt
3) Quit
#? 1
You chose 1
#? ^C

관련 정보