string=whatever
stty size | {
read y x
tput sc # save cursor position
tput cup "$((y - 1))" "$((x - ${#string}))" # position cursor
printf %s "$string"
tput rc # restore cursor.
}
Предполагается, что все символы в $ string
имеют ширину в одну ячейку (и что $ string
не содержит управляющих символов (например, новой строки, табуляции ...)).
Если ваша строка может содержать нулевую ширину (например, объединение символов) или двойную ширину, вы можете использовать формат ksh93 printf
% Ls
спецификатор, который форматирует на основе или ширину символа:
string='whatéver'
# aka string=$'\uFF57\uFF48\uFF41\uFF54\uFF45\u0301\uFF56\uFF45\uFF52'
stty size | {
read y x
tput sc # save cursor position
tput cup "$((y - 1))" 0 # position cursor
printf "%${x}Ls" "$string"
tput rc # restore cursor.
}
Тем не менее, это стирает начальную часть последней строки.
Пробовали ли вы вручную установить отсутствующие зависимости? Примером может быть запуск:
apt -получить установку lib6c
Этот пакет (и другие )также можно получить здесь :https://packages.debian.org/search?keywords=libc6