дуже багато речей можна і треба покращувати — але наразі я трохи відпочину і просто додаватиму «сенсорів», бо вже навіть такий примітивний «двигунець» дозволяє мені виводити довільно те, що треба, за шаблонами на кшталт такого:
...
SCREEN_TEMPLATE+=("<BOLD>MEMORY<RESET>")
SCREEN_TEMPLATE+=(" Physical: <MEMORY_TOTAL> GB (<MEMORY_USED_PERCENTAGE>% used)")
SCREEN_TEMPLATE+=(" Swap: <SWAP_TOTAL> GB (<SWAP_USED_PERCENTAGE>% used)")
...
з цікавого: певний час я мудрував над проблемою табуляції: стандартні 8 проблів було замало, а виморочувати якусь «розумну» функцію виводу не хотілося. вдався до найпростішого, що міг вигадати: tput дозволяє встановлювати довільну табуляцію (а ще сховати курсор і зберегти вміст консолі):
# Setup screen
# Set tab width
tabs +${TAB_WIDTH}
# Set invisible cursor
tput civis
# Save terminal contents
tput smcup
# Clear terminal
clear
але як відновити параметри за замовчуванням після переривання за ctrl+c? а ось так:
# Setup Ctrl+C trap to exit gracefully
trap graceful_exit INT
тут graceful_exit — функція, котра відновлює параметри консолі:
graceful_exit() {
# Restore cursor visibility
tput cvvis
# Restore tab size
tabs -8
# Restore terminal contents
tput rmcup
# Finally, exit
exit 0
}
ще з цікавого: на сервері вже кілька тижнів крутиться owncloud в контейнері. днями закинув туди всю бібліотеку з dropbox’а і додав втулок owncloud reader для читання електронних текстів (epub та pdf) — можна читати, не завантажуючи на пристрій (звісно, за наявности підключення до інтернету). втім, ніщо не заважає і завантажити за потреби в читалці на смартфоні.
p.s. намагаюсь трішки дистанціюватися від результатів виборів до верховної ради, бо цензурної лексики для цієї теми я наразі не маю.