🛠 Simple bash debugger using trap DEBUG - интересный способ дебага bash скриптов.
tl;dr - перед выполнением каждой команды будет запрашиваться пользовательский ввод, который либо будет выполняться, либо, если ничего не введено, скрипт будет продолжать работу.
tl;dr - перед выполнением каждой команды будет запрашиваться пользовательский ввод, который либо будет выполняться, либо, если ничего не введено, скрипт будет продолжать работу.
function _trap_DEBUG() {#bash #напочитать #debug
echo "# $BASH_COMMAND";
while read -r -e -p "debug> " _command; do
if [ -n "$_command" ]; then
eval "$_command";
else
break;
fi;
done
}
trap '_trap_DEBUG' DEBUG
🤔14👍4😱2🎉1
🔧 Hermit: A reproducible container - ещё один занятный инструмент, который не просто работает как песочница. Hermit позволяет запустить программу в изолированном и полностью воспроизводимом окружении.
Например, даже если программа использует /dev/urandom, то будучи запущенной в hermit, программа будет забирать эти данные из псевдослучайного генератора, который, если потребуется, будет отдавать одни и те же данные при воспроизведении работы контейнера с программой.
Полезен инструмент оказывается как в работе над багами в программах, так и, например, при наблюдении за работой подозрительных программ, исполнение которых, будучи запущенным в Hermit, полностью контролируется нами.
#hermit #debug #фидбечат
Например, даже если программа использует /dev/urandom, то будучи запущенной в hermit, программа будет забирать эти данные из псевдослучайного генератора, который, если потребуется, будет отдавать одни и те же данные при воспроизведении работы контейнера с программой.
Полезен инструмент оказывается как в работе над багами в программах, так и, например, при наблюдении за работой подозрительных программ, исполнение которых, будучи запущенным в Hermit, полностью контролируется нами.
#hermit #debug #фидбечат
👍10