A read -e
вызывает библиотеку readline. Что дает доступ к нескольким инструментам редактирования, которых нет в простом read
. Однако он предполагает «пустую строку».
Обходной путь к этой проблеме состоит в том, чтобы дать что-то (вроде пробела ), чтобы избежать предположения о "пустой строке":
printf 'input:'; read -e -p ' '
Но так как здесь уже используется опция -p
, может быть проще написать:
read -e -p 'input: '