Однострочники bash с объяснениями

Сие опубликовал в день года

o="-vvvvvv";for i in 0 {2..7}; do c="aptitude ${o:0:$i} moo";echo "$ $c"; $c; done

Исследование коровьих супер сил aptitude в одну строку. В aptitude есть пасхальное яйцо по аналогии c apt-get, но поначалу программа пытается отнекиваться и говорит, что в ней нет пасхальных яиц. Не верьте ей.

Как это работает

o="-vvvvvv"

Взята строка с самым длинным параметром.

for i in 0 {2..7}

Цикл берет значения i равные 0, 2, 3 и так до 7. Это делается для того, чтобы отрезать куски нужной длины от значения переменной o.

do c="aptitude ${o:0:$i} moo"

Здесь генерируются необходимые нам строки состоящие из слова aptitude и куска строки в переменной o длинной от нуля, то i. В конце добавляется слово moo. Пара примеров строк:

aptitude moo
aptitude -v moo

и так далее до

aptitude -vvvvvv moo

echo "$ $c"

Печатаем получившуюся команду в виде строки.

$c

Выполняем получившуюся команду.

Если что-то осталось не понятным, то спрашивайте в комментариях.

Оболочка bash - горячие клавиши и поиск

Сие опубликовал в день года

Не стоит удивляться тому, что в оболочке bash присутствует большой набор горячих клавиш, который может сделать вашу работу с командной строкой значительно легче. Возможность редактировать содержимое командной строки предоставляет библиотека GNU Readline. Эту библиотеку используют также некоторые другие *nix приложения, поэтому изучение предложенных ниже горячих клавиш позволит вам улучшить свою продуктивность не только в оболочке bash.

Редактирование команд bash

Ctrl + a – перейти на начало командной строки,
Ctrl + e – перейти в конец командной строки,
Ctrl + k – удалить от курсора до конца командной строки,
Ctrl + u – удалить от курсора до начала командной строки,
Ctrl + w – удалить от курсора до начала слова,
Ctrl + y – вставить слово или текст который был вырезано с использованием одного из подходящих сочетаний клавиш,
Ctrl + xx – переместиться между началом командной строки и текущим положением курсора (работает в обе стороны),
Alt + b – переместить курсор на одно слово назад (или переместиться на начало текущего слова),
Alt + f – переместиться вперен на одно слово (или к... Читать целиком.

Наверх