Moim celem jest zalogowanie wszystkich danych wyjściowych skryptu do katalogu, który skrypt utworzy.
Mam na przykład:
~/.abc.sh
:
#! /bin/bash
rails new myapp
Kiedy biegnę ...
cd ~/code
. ~/.abc.sh
... która utworzy nową aplikację Rails w katalogu ~/code/myapp
.
Gdy Rails tworzy aplikację, wyświetla całą treść, którą chcę przechwycić i zapisać w pliku dziennika w tym samym katalogu, w którym rails
nowo utworzone polecenie. Chcę również wyświetlić ten tekst w terminalu.
Jak mam to zrobić?
~/.abc.sh | tee <file>
? Jeśli tak, to problem polega na tym, że nie wiem, w którym katalogu skrypt utworzy aplikację, gdy ją wywołam, więc skąd mam wiedzieć, co podać wfile
argumencie? (Dzięki za wspaniałe przykłady)mktemp
. Zobacz stronę podręcznikaman mktemp
.script
rozpocznie sesję interaktywną i zapisze wszystkie dane wyjściowe (stdout / stderr itp.) do pliku lub (wraz z-c
parametrem) uruchomi polecenie i zapisze dane wyjściowe.Uwaga: w sesji interaktywnej możesz zatrzymać nagrywanie, wychodząc z sesji w normalny sposób (np.
exit
Lub Ctrl-D).Do nagrywania sesji z odtwarzaniem wideo możesz również spróbować asciinema .
źródło