Разбор флагов через getopts bash
POSIX-разбор опций с аргументами; -n принимает значение, -v является флагом
while getopts "n:v" o; do case $o in n) ns=$OPTARG;; v) verbose=1;; esac; done
more bash
all 12 commands →
Ограничение команды через timeout с kill
timeout -k 5s 30s ./long_task.sh || echo "timed out: $?"
Отдельный дескриптор для структурированного лога
exec 3>>audit.log; echo "$(date -Is) start" >&3; exec 3>&-
zsh рекурсивный glob и пакетное переименование
setopt extendedglob; print -l **/*(.); autoload zmv; zmv '(*).txt' '$1.bak'
Строгий режим со безопасным IFS
set -euo pipefail; IFS=$'\n\t'
Очистка временного каталога через trap
tmp=$(mktemp -d); trap 'rm -rf "$tmp"' EXIT INT TERM