Bash

Опции set, отладка и безопасность скрипта

Bash-скрипт не прервет свое выполнение, если внутри будет содержаться ошибка. Это может привести к непредсказуемым результатам. Поэтому первой командой рекомендуется указывать

set -euxo pipefail
  • -e заставляет прерывать выполнение скрипта, если была ошибка в команде (последней - если используется pipe); однако это не сработает для команды wrong_command | echo ok, так как $? будет равно 0
  • -o pipefail заставляет прерывать выполнение если любая выполненная команда привела к ошибке (wrong_command | echo ok)
  • -u если было обращение к неопределенной переменной (echo $unknown_var)
  • -x заставляет интерпретатор печатать итоговую команду перед ее выполнением - очень полезно при отладке

Источник

Также есть проект BASH Debugger для отладки скриптов.

Так можно посмотреть, как выставляется окружение:

env -i bash -x -l -c 'echo 123' > login.log 2>&1
# еще подробнее
strace -f env -i bash -x -l -c 'echo 123' > login.log 2>&1

Источник

Инструменты

HTTPie

Как получить параметры программ всех пользователей

ps axw
ps axwww

Ссылки

Печать/экспорт