У меня есть цикл, который я хочу разбить на любым пользователем.Bash: Захват новой строки с `read`
надуманный пример - таймер, который отсчитывает от 10:
counter=10
while ((counter > 0)) && [[ -z $input ]]; do
printf '\rRestart in %s seconds' "$counter"
read -n 1 -t 1 input
((counter--))
done
echo "Completed"
Это работает надлежащим образом для всех введенных пользователем для Enter
за исключением, и я ожидаю, что Enter
будет наиболее распространенным вход.
Как я могу взять Enter
с помощью команды read
от Bash?
Исправлено синтаксис - данный пример кода фактически не работал - а также заставлял его следовать некоторым соглашениям. –
@CharlesDuffy Спасибо! –
Я пропустил что-то важное в своем форматировании/условном исправлении первого шага - не нужно использовать расширение параметра в первом аргументе printf (так как это может привести к недопустимым строкам формата) отсутствующим смягчающим обстоятельствам. Патч это в следующий проход. –