Про шлюх и CodeFest

Bash

Привет, хотел про рабочие будни, падших женщин и CodeFest рассказать, но это скучно. Как-нибудь в другой раз.

А сегодня рассмотрим интересную команду — compgen.

С помощью compgen можно вывести список всех консольных команд, которые вообще доступны в твоём Linux дистрибутиве.

Запускаем:

compgen -c


И наблюдаем. Да, это полный список команд, мне выплюнуло аж 3490. Поверь там ОЧЕНЬ много интересного.

Секрет успеха

Выгружаем все это в файл и каждый день изучаем по три-пять команд из этого списка

А через месяц ты настолько преисполнишься в своем сознании, что аж пиздец. Я на полном серьезе!

Кстати по аналогии, я каждый день читаю по 10-20 слов из словаря Ожегова. Отлично расширяет словарный запас. Рекомендую.

У compgen есть еще масса ключей, некоторые из них:

-a = выведет список алиасов
-b = список всех bash модулей
-k = вывод ключевых слов
-A function = вывод всех функций

Ладно, что еще можно с compgen сделать:

Генерация списков

files=( $(compgen -f) )
echo "${files[@]}"


На экран выведется список файлов в текущем каталоге.

Анализ окружения

variables=( $(compgen -v) )
echo "${variables[@]}"


Выведется весь список переменных окружения.

Генерация динамических списков

users=( $(compgen -u) )
echo "${users[@]}"


Скрипт динамически создаст список всех пользователей в Linux.

Еще есть прикол с автодополнением, но работает через жопу, поэтому нахер его. У нас тут только рабочая годнота.

Обычно compgen используется в скриптах или в интерактивном режиме для быстрого доступа к определенным типам данных, доступных в текущем контексте оболочки.

Ну и вот. Пойду дальше диван давить, изучай. Увидимся!

overlord

Здрасти. В Linux есть возможность включить «оскорбительный режим», который работает из коробки без установки дополнительного шлака.

Оцените автора