Генератор цитат в терминале Linux на BASH

Генератор цитат в терминале Linux на BASH

Код на свободе | Все о Linux и Opensource

Решил сделать заметку про утилиту fortune, которая выводит случайную цитату в терминале.

Но в процессе установки и проб понял, что утилита русскоязычному пользователю не особо зайдет, так как показывает цитаты на английском языке. Процесс поиска привел к форку этой утилиты forune-mod-ru, название которой намекает на то, что цитаты там на русском. Но разработчик этого форка, судя по доменному имени сайта, родом из Украины, потому установить русифицированную версию fortune по понятным причинам не удалось.

Потому возникла идея: почему бы не написать собственный генератор цитат в терминале Linux и сделать это на чем-нибудь простом и легком, например, на языке BASH? Давайте сделаем это вместе!

Открываем текстовый редактор (обычный или консольный) и вставляем там следующий код:

Не беспокойтесь, что он приведен на скриншоте, скрипт вы сможете скачать по ссылке, которую оставлю в конце этого поста.

За что отвечают строки этого скрипта? Вначале мы создаем массив со списком цитат, затем используем функцию рандомной генерации номера в пределах количества элементов массива и в переменную quote помещаем элемент массива под сгенерированным рандомным номером. Командой echo переменная quote выводится в терминал.

Теперь нужно сохранить данный код под любым именем с расширением sh и сделать этот файл исполняемым:

Остается только запустить этот скрипт в терминале и он выдаст рандомную цитату из списка:

Казалось бы на этом все, но можно слегка улучшить систему вывода цитат и показывать их при запуске терминала. Для этого нужно отредактировать конфигурационный файл текущей оболочки. По-умолчанию, это bash-оболочка, поэтому в домашней директории пользователя находится скрытый файл .bashrc, который нужно отредактировать и внести в него следующий код:

Здесь мы указали точный путь до команды bash и точный путь до скрипта. После внесения изменений сохраняем конфиг и перезапускаем оболочку командой:

И уже сразу видим, что все заработало и теперь при запуске терминала будет показываться какая-либо цитата из списка.

Естественно, что рандомность выпадения цитат напрямую зависит от их количества в массиве. Поэтому, если вы хотите развития этой темы со скриптом, то давайте наберем 10 огоньков на посте, из которого вы перешли по ссылке, и я выпущу продолжение, где покажу и расскажу как добавить в наш скрипт большое количество цитат на русском языке.

Тем кто дочитал до конца, говорю спасибо и оставляю ссылку на скрипт: quote-gen.sh

Report Page