Я написал скрипт bash, который выглядит примерно так, и в основном обрабатывает пользовательские операции на основе выбора.
PS3='Please enter current status of the completion: '
boolean_status=("completed" "not-yet")
select opt in "${boolean_status[@]}"
do
if [ "$REPLY" -ge 1 -a "$REPLY" -le 2 ]; then
n=$opt
break;
fi
done
Но я столкнулся с проблемой с этим фрагментом кода, ввод этого кода принимает backspace as ^H
и up as [[A^
и т. Д. Я хочу, чтобы мой пользователь мог свободно использовать стрелки вверх и вниз без появления этих символов. Есть ли способ решить эту проблему.
Как и в команде read
, у нас есть опция -e
, которая игнорирует все эти символы, что эквивалентно в select ??