А знаете ли вы, что в Bash есть особая переменная "$_" ? Из описания можно узнать, что в переменную "$_" помещается последний аргумент последней команды.
Что-то знакомое? Конечно, в Python есть примерно тоже самое.
Мы знаем, что дата первого релиза Bash (8 июня 1989) несколько раньше чем первый релиз Python (20 февраля 1991). Если учесть, что по задумке автора Python это агрегация самых успешных практик отовсюду, можно ли сказать что именно эта фишка к нему пришла из Bash? Ни подтверждения ни опровержения я пока не нашел.
Давайте просто считать это совпадением 😉
А как это может быть полезно в Bash?
Приведу простой пример, который оценят те, кто часто работает в терминале.
Допустим, нам надо создать директорию и зайти в неё. Что обычно делаем?
:~$ mkdir foldername
:~$ cd foldername
:~/foldername$
Как это сделать в одну команду?
:~$ mkdir foldername && cd foldername
:~/foldername$
Уже лучше, но хочется короче, без повторов. Вот тут и пригодится наша переменная. Напомню, что в неё сохраняется последний аргумент предыдущей команды.
:~$ mkdir foldername && cd $_
:~/foldername$
_________________
PS.
Символы "&&"" разделяют команды и означают, что требуется выполнить вторую команду только если первая завершилась успешно.
#linux#tricks
• Недавно мне пришлось перечитывать гайд по использованию командной строки в Linux, и в самом конце руководства я нашел очень полезный инструмент для проверки написания Shell-скриптов, про который сейчас расскажу.
• Вы наверняка знаете, что Shell-скрипты — это очень удобный инструмент, которые позволяют автоматизировать множество задач. Однако есть одно "НО". Дело в том, что при написании скриптов можно допустить массу ошибок. Многие из ошибок, носящие синтаксический характер, могут привести себя к неправильному выполнению. Последствия неправильного поведения скриптов могут быть практически любыми — от слегка неприятных до катастрофических.
• Многие из проблем скриптов можно решить с помощью линтера! Вот тут и вступает в игру статический анализатор кода ShellCheck, который написан на Haskell. Эта тулза помогает в обнаружении ошибок в тексте скриптов и может вывести отчет о проведенных проверках. Это позволяет повысить производительность работы и качество кода. Кстати, ShellCheck можно интегрировать в vim или emacs, в результате, он будет проверять текст скриптов прямо в редакторе.
➡️Github;
➡️Официальный сайт;
➡️Небольшой гайд по установке и использованию ShellCheck.
#Разное#Linux#Unix
📲 Эмулятор терминала GNU/Linuxна Android — Termux.
• Если Вы давно хотели изучить и использовать лучший эмулятор терминала для среды GNU/Linux на своем Android, то предлагаю прочитать очень крутой лонгрид на хабре, который составлял автор на протяжении двух недель, а прочтение статьи займет более 60 минут... Содержание следующее:
➡Установка и настройка среды Termux;
➡Парсинг данных;
➡Автоматизация процесса: бэкап и шифрование данных;
➡Программирование на Android & Data Science;
➡Сниффить, парсить, брутить, дампить, сканить, фишить;
➡Обработка изображений;
➡Системное администрирование;
➡Управление OS Android на уровне процессов и многое другое...
➡Читать статью [62 min].
#Termux#Linux#Android