Моя цель - записать весь вывод скрипта в каталог, который скрипт создаст.
Например, у меня есть:
~/.abc.sh
:
#! /bin/bash
rails new myapp
Когда я бегу ...
cd ~/code
. ~/.abc.sh
... это создаст новое приложение Rails в каталоге ~/code/myapp
.
Когда Rails создает приложение, оно выводит много текста, который я хочу записать и сохранить в файле журнала в том же каталоге, что и rails
вновь созданная команда. Я также хочу отобразить этот текст в терминале.
Как мне это сделать?
~/.abc.sh | tee <file>
? Если это так, то проблема в том, что я не знаю, в каком каталоге скрипт будет создавать приложение, когда я его вызываю, так как я узнаю, что дать вfile
аргументе? (Спасибо за отличные примеры)mktemp
. Смотрите страницу руководстваman mktemp
.script
запустит интерактивный сеанс и запишет весь вывод (stdout / stderr и т. д.) в файл, или (с-c
параметром) запустит команду и запишет вывод этого.Примечание. В интерактивном сеансе вы можете остановить запись, просто выйдя из сеанса, как обычно (например,
exit
или Ctrl-D).Для записи сеанса с воспроизведением видео, вы также можете попробовать Asciinema .
источник