BASH DAYS | Linux Factory
Айти убивает!
Господа и дамы, если сидите за компьютером, не забрасывайте ноги на стол и т.п. Будущее такое — искривление жопы, защемление нервов, невролог, мягкая подушка в виде ободка унитаза и не пойми еще что после мрт. Наверное витамин Б, физкультура и какой-нибудь Бруфен с пластырями-гасителями. Технический пост будет завтра. Кому по домашкам не ответил, завтра с утра напишу, сорян. День 3.14здень, я в шоке, где мои 17 лет на Большом Каретном...
Как определить, выполняется ли Bash скрипт через pipe?
Тадам! Сегодня научимся определять, отправляется ли стандартный вывод скрипта в терминал либо передается с помощью pipe в другой скрипт/утилиту. Чтобы стало понятнее, нужно читать дальше. Есть у меня некий Bash скрипт, пусть будет таким: Если его выполнить, то на экран выведется ожидаемый результат. Но что если я хочу добавить логику в этот скрипт, которая будет детектить pipe и отдавать другой ожидаемый результат? Давай по порядку, смотри: Этот скрипт выведет строку Hello Bashdays Welcome, где слово Bashdays будет жирным (bold)...
Хитрости с pipe в Bash и exit кодами
Сегодня про хитрости с пайпами и кодами завершения в Bash. Максимально упрощаю, чтобы стало понятнее. Собираем такую команду: Если после её выполнения сделать: echo $?, то получим статус выхода 0. То есть у нас есть статус завершения именно команды true. НО теперь узнать с каким кодом завершилась первая команда false? А вот так, модифицируем команду: В этом случае будет получен код завершения 1, который справедлив для команды false. Как ты можешь заметить, если в PIPESTATUS изменить [0] на [1], мы снова получим статус завершения 0 (то есть для true)...
Как восстановить задачи из cron
Как легко и быстро восстановить случайно удалённый crontab файл со всеми задачами. Аналогично можно восстанавливать любые файлы в linux. Занятный случай приключился у клиента. На скрине думаю понятно, что произошло. Добро пожаловать в Linux! Эту задачу мне удалось решить за несколько минут, не имея бэкапов я восстановил ему этот удаленный файл. Как раз способом из этого поста 👇👇👇 Если кратко, я глянул в логи /var/log/cron, взял рандомную таску которая выполнялась ранее и вбил: Соответственно console import:reports это часть таски, которая когда-то выполнялась...
