Запуск скрипта оболочки: как включить команды в вывод, как будто они набраны в интерактивном режиме

Запуск скрипта оболочки: как включить команды в вывод, как будто они набраны в интерактивном режиме

Как я могу запустить/использовать скрипт оболочки (bash, если это имеет значение) и получить выводвключатькоманды в скрипте? Я бы хотел перенаправить вывод в файл, как в

$ ./my_script > output.txt

и сделать так, чтобы output.txtфайл содержал команды из скрипта, как если бы я ввел его содержимое в терминал интерактивно, а затем скопировал и вставил содержимое окна терминала в файл.

Бонусные баллы за решения, которые визуально отличают команды от строк вывода, как в терминале с предыдущим $.

решение1

В вашем скрипте добавьте следующую строку перед всеми командами (это запишет каждую команду в stderror перед ее выполнением):

set -x

затем запустите свой скрипт:

./my_script > output.txt 2>&1

Связанный контент