Как очистить пользовательский ввод в Bash при использовании read? - PullRequest
2 голосов
/ 19 января 2011

У меня есть этот код в бесконечном цикле:

read -a output
echo ${output[@]}

Когда код запускается, экран может выглядеть так:

Hello, World # line where value was given to output (I want this gone)
Hello, World # echoed output
[] # <-- cursor waiting for next input

Есть ли способ очистить строку, гдепользователь вводит значение?Например, как полностью избавиться от этого (не просто изменить строку на пробел, который все еще оставит пробел в желаемом выводе)?

Ответы [ 2 ]

2 голосов
/ 19 января 2011

Используйте tput с возможностями cuu1 и dl1.

echo "foobar42"
echo "$(tput cuu1)$(tput dl1)baz123"
0 голосов
/ 19 января 2011

Почему бы просто не удалить echo ${output[@]}? Поскольку вы не заключаете в кавычки переменную массива, это похоже на тот же результат, что и при использовании tput hax.

...