Привет.
Допустим, есть bash-скрипт 1.sh:
sleep 10s
echo AAA
rm -rf /tmp/1/*
rm -rf /tmp/2/*
ls /tmp/
Мне нужно запустить его, и сохранить stdout\stderr в файл и чтобы было понятно, какая команда записала выполнялась перед этим.
Перенаправить syderr\stdout я могу, например, так:
./1.sh &>/tmp/1.log
Но я не узнаю, какая команда именно записала то или иное в лог.
Хочу получить типа этого:
sleep 10s
тут stderr+stdout
echo AAA
тут stderr+stdout
...
Как это сделать? На ум приходит только тупой цикл типа этого:
commands="sleep 10s
echo AAA
rm -rf /tmp/1/*
rm -rf /tmp/2/*
ls /tmp/"
for i in $commands
do
echo $i
$i
done
Как лучше сделать?