9 месяцев назад
Хитрости с pipe в Bash и exit кодами
Сегодня про хитрости с пайпами и кодами завершения в Bash. Максимально упрощаю, чтобы стало понятнее. Собираем такую команду: Если после её выполнения сделать: echo $?, то получим статус выхода 0. То есть у нас есть статус завершения именно команды true. НО теперь узнать с каким кодом завершилась первая команда false? А вот так, модифицируем команду: В этом случае будет получен код завершения 1, который справедлив для команды false. Как ты можешь заметить, если в PIPESTATUS изменить [0] на [1], мы снова получим статус завершения 0 (то есть для true)...
111 читали · 9 месяцев назад
Как определить, выполняется ли Bash скрипт через pipe?
Тадам! Сегодня научимся определять, отправляется ли стандартный вывод скрипта в терминал либо передается с помощью pipe в другой скрипт/утилиту. Чтобы стало понятнее, нужно читать дальше. Есть у меня некий Bash скрипт, пусть будет таким: Если его выполнить, то на экран выведется ожидаемый результат. Но что если я хочу добавить логику в этот скрипт, которая будет детектить pipe и отдавать другой ожидаемый результат? Давай по порядку, смотри: Этот скрипт выведет строку Hello Bashdays Welcome, где слово Bashdays будет жирным (bold)...