Восстановление позиции курсора после ее сохранения

Сpax(обязательной утилитой POSIX, хотя она еще не установлена ​​по умолчанию в некоторых дистрибутивах GNU/Linux):

pax -s':^:BASE/:' -pe -rw /a/b/c/d.

(обратите внимание, что ни --target-directory, ни -aне являются стандартными опциями cp. Это расширения GNU ).

Обратите внимание, что с-pe(аналогично GNU -a), paxпопытается скопировать метаданные (раз, владельца, разрешения... )компонентов каталога, а также (, в то время как BASEметаданные будут созданы с помощьюmkdir BASE).

2
11.06.2020, 17:16
1 ответ

У меня работает. Я предпочитаю использовать базу данных terminfo (man 5 terminfo), а не жестко заданные управляющие последовательности.

sc=$(tput sc) rc=$(tput rc) el=$(tput el)
clear; printf 'Doing some task...%s\n' "$sc"; sleep 1; printf '%sDONE%s\n' "$rc" "$el"

Вы также можете переместить курсор в абсолютную позицию ({0,0} вверху слева ), если это лучше, чем сохранение/восстановление текущей позиции курсора.

tput cup 4 40; sleep 1; printf "%s\n" 'This is row 4 column 40'
-1
28.04.2021, 23:24

Теги

Похожие вопросы