Извращение с терминалом. tput.
Рассмотрим следующий скрипт:
-
-
-
Кроме того, вместо escape-последовательностей можно использовать тот же самый tput. Я не стал так делать во избежание усложнения скрипта, пусть и небольшого.
Запуск скрипта:
Смотрите также:
- man bash
- man tput
- help echo
Применение найдите сами.
#Bash #Programming #Рукоблудие
tput — команда, использующая базу данных terminfo для предоставления шеллу терминало-зависимых возможностей. При использовании команды можно указать тип терминала, но обычно это не делается, так как по-умолчанию тип берется из переменной $TERM.Рассмотрим следующий скрипт:
#!/bin/bashТеперь расшифровка параметров:
# -e - включить управление escape-последовательностями
# -n - не переносить на новую строку
SUCCESS="echo -en \\e[1;32m"
FAIL="echo -en \\e[1;31m"
NORMAL="echo -en \\e[0;39m"
touch $1 # Создаём определённый пустой файл
# Проверяем на успешность операции
# Можно тестировать на наличие файла $1,
# но я доверюсь кодам завершения программы.
if [ $? -eq 0 ]; then
$SUCCESS
echo -n "$(tput hpa $(tput cols))$(tput cub 6)[0k]"
$NORMAL
echo # Переход на новую строку. Без комментариев.
else
$FAIL
echo -n "$(tput hpa $(tput cols))$(tput cub 6)[FAIL]"
$NORMAL
echo
fi
-
tput hpa X - сдвиг курсора на Х позиций;-
tput cols - получение количества колонок в терминале (ровно как tput lines - получение кол-ва строк);-
tput cub 6 - сдвиг курсора на 6 позиций влево (т.о. сообщение [0k]/[FAIL] "прижаты" к краю)Кроме того, вместо escape-последовательностей можно использовать тот же самый tput. Я не стал так делать во избежание усложнения скрипта, пусть и небольшого.
Запуск скрипта:
./script.sh $FILENAMEЗамените
$FILENAME на имя файла. Если файл существует, то touch выдаст код завершения 1, соответственно, на экране увидим [FAIL]. Если такого файла нет, то он будет создан и touch выдаст код завершения 0. Переменная $? содержит в себе это.Смотрите также:
- man bash
- man tput
- help echo
Применение найдите сами.
#Bash #Programming #Рукоблудие
Играемся с пайпом. pv.
Предоставляет информацию о прошедшем времени, проценте выполнения (включая индикатор выполнения - progressbar), текущую пропускную способность, ETA и кол-во переданных данных.
Использование
Допустим, есть некая директория
Ключ
Забавный пример из одного англоязычного блога:
*
*
#Bash #Linux
pv - инструмент командной строки, позволяющий отслеживать данные, передаваемые в пайпе. Сокращение от Pipe Viewer.Предоставляет информацию о прошедшем времени, проценте выполнения (включая индикатор выполнения - progressbar), текущую пропускную способность, ETA и кол-во переданных данных.
Использование
Допустим, есть некая директория
Work, которую нужно заархивировать. Например:tar -cf - Work | pv -s $(du -sb Work | grep -o '[0-9]*') > Work.tarПримерный вывод:
512MiB 0:00:01 [ 424MiB/s] [===============================>] 100%Из него мы видим кол-во переданных данных, время выполнения, пропускную способность и процент выполнения.
Ключ
-s предназначен для передачи размера каталога в байтах.Забавный пример из одного англоязычного блога:
pv /dev/urandom > /dev/nullСмотрите также:
*
man pv;*
man bash.#Bash #Linux
Вторая часть об опыте работы с Calmira LX4 1.1 GNU/Linux. Описал настройку, плюс пару слов о том, как использую дистрибутив лично я.
Читать здесь:
https://linuxoid85.github.io/LinuxSovet/stats/blog/cpl/expierence/calmira-1.1-2.html
Кроме того, доступна первая часть:
https://linuxoid85.github.io/LinuxSovet/stats/blog/cpl/expierence/calmira-1.1.html
В третьей части статьи будет описан процесс разработки системы.
Так же, для тех, кому интересно, завтра (5 декабря) в планах выпустить первую тестовую версию Calmira LX4 1.2. Исправил один неприятный баг с нерабочим сервисом dhcpcd для SysVInit, добавил программу btst для просмотра состояния АКБ ноутбука, ну и множество улучшений в ядре. Такие как добавление поддержки мыши в TTY, NVMe, FUSE, ну и по части NLS тоже кое-что (codepage 855).
Если релиз 1.1 получился довольно смазанным, несмотря на долгое время разработки (а хотелось сделать довольно жирный и надёжный релиз), то версия 1.2 будет намного лучше и стабильнее.
#Рукоблудие #Linux
Читать здесь:
https://linuxoid85.github.io/LinuxSovet/stats/blog/cpl/expierence/calmira-1.1-2.html
Кроме того, доступна первая часть:
https://linuxoid85.github.io/LinuxSovet/stats/blog/cpl/expierence/calmira-1.1.html
В третьей части статьи будет описан процесс разработки системы.
Так же, для тех, кому интересно, завтра (5 декабря) в планах выпустить первую тестовую версию Calmira LX4 1.2. Исправил один неприятный баг с нерабочим сервисом dhcpcd для SysVInit, добавил программу btst для просмотра состояния АКБ ноутбука, ну и множество улучшений в ядре. Такие как добавление поддержки мыши в TTY, NVMe, FUSE, ну и по части NLS тоже кое-что (codepage 855).
Если релиз 1.1 получился довольно смазанным, несмотря на долгое время разработки (а хотелось сделать довольно жирный и надёжный релиз), то версия 1.2 будет намного лучше и стабильнее.
#Рукоблудие #Linux
LinuxSovet
Опыт использования CalmiraLinux LX4 1.1. Часть 2 - процесс настройки.
Просто какие-то отдельные статьи, заметки, наблюдения на тему Linux, Unix и прочего. Подключен GH Pages для лучшего виду.
Forwarded from Shark 🦈🤘🏻
Для любителей командной строки. https://github.com/liweitianux/ly-dm
GitHub
GitHub - liweitianux/ly-dm: TUI display manager
TUI display manager. Contribute to liweitianux/ly-dm development by creating an account on GitHub.
Программа дня - Optimizer.
Optimizer - это системный монитор Linux. Отличительной особенностью является возможность очистки системы от логов, кешей и прочего.
По всей видимости, создавалась для Elementary OS.
GitHub: https://github.com/hannesschulze/optimizer
#Soft
Optimizer - это системный монитор Linux. Отличительной особенностью является возможность очистки системы от логов, кешей и прочего.
По всей видимости, создавалась для Elementary OS.
GitHub: https://github.com/hannesschulze/optimizer
#Soft
GitHub
GitHub - hannesschulze/optimizer: Find out what's eating up your system resources and delete unnecessary files from your disk.
Find out what's eating up your system resources and delete unnecessary files from your disk. - GitHub - hannesschulze/optimizer: Find out what's eating up your system resources and ...
https://linuxoid85.github.io/LinuxSovet/stats/blog/convert.html
Небольшая заметка о конвертации доков посредством LibreOffice. Конкретнее, небольшая автоматизация. Пример использования популярного офисного пакета в терминале.
#Tips #Scripting #BASH
Небольшая заметка о конвертации доков посредством LibreOffice. Конкретнее, небольшая автоматизация. Пример использования популярного офисного пакета в терминале.
#Tips #Scripting #BASH
LinuxSovet
Конвертация форматов офисных документов - автоматизируем процесс
Просто какие-то отдельные статьи, заметки, наблюдения на тему Linux, Unix и прочего. Подключен GH Pages для лучшего виду.
Forwarded from Shark 🦈🤘🏻
Ребят, очень советую это приложение. У меня не отображались процессы, написал ему ишью на ГитХабе и он оперативно отреагировал и исправил. Супер крутая плюха! Пиарить буду теперь везде. https://github.com/hakandundar34coding/system-monitoring-center
GitHub
GitHub - hakandundar34coding/system-monitoring-center: Multi-featured system monitor
Multi-featured system monitor. Contribute to hakandundar34coding/system-monitoring-center development by creating an account on GitHub.