これは私のスクリプトの一部です。
read main_menu
case "$main_menu" in
"0" ) exit
;;
"1" ) cp /etc/bamt/cgminer.conf.X11 /etc/bamt/cgminer.conf;
sudo mine restart;
;;
ユーザーにキーを押す必要がないように0、1、2などを入力させるにはどうすればよいですかEnter?実際に数字を入力すると、を押すことなく次のメニューまたは機能に直接移動しますEnter。
ここで実装するのに役立ちますか?
while :
do
echo -e "\n Test script"
echo -e "\t (0) Exit"
echo -e "\t (1) Option 1"
echo -n "Enter choice:"
read main_menu
case "$main_menu" in
"0" ) exit
;;
"1" ) exit
;;
esac
done
答え1
バッシュread
サポートオプション数、そのうち-n 1
:
$ read -n 1 main_menu
1$ echo $main_menu
1
この-n
オプションの意味は次のとおりです。
読み込みは読み込み後に返されます。nchars入力の行全体を待つ代わりに文字がありますが、それより少ない場合nchars区切り文字の前の文字を読みます。
-n 1
入力の単一文字を読み取って返すように指示するread
ので、ユーザーが押すと1停止read
し、入力が変数に保存されます。