To pytanie ma już tutaj odpowiedzi : 
 Komentarze 
 Odpowiedź 
 Metodą, którą znalazłem, aby przechwycić wszystkie dane wyjściowe z dowolnej sesji, jest rozpoczęcie nowej sesji bash i tee do pliku dziennika. jest naprawdę przydatny do śledzenia nie tylko skryptu. 
 bash | tee ~/bash.log #this will save standard output until the bash session is ended bash | tee ~/bash.log 2>&1 #this will save all output including errors until the bash session is ended 
 lub możesz po prostu napisać skrypt, który będzie sam 
 ./myscript.sh | tee ./myscript.log #this will log only the output of the script. 
 Komentarze 
 
 Odpowiedź 
 Zawsze możesz wywołać script wewnątrz skryptu, aby loguj wszystko. 
 Jeśli chcesz wydrukować i zalogować wszystko w tym samym czasie w skrypcie bash do log.txt: 
 Przeglądanie dziennika log.txt: 
$ ./a.sh Script started, output file is log.txt teste Script done, output file is log.txt $ cat log.txt Script started on Fri Feb 16 17:57:26 2018 command: /bin/bash -c ./a.sh teste Script done on Fri Feb 16 17:57:26 2018 
 Komentarze 
 
 Odpowiedź 
 Chcesz użyć  tee . 
 Np .: 
echo "Hello World" | tee out.txt 
 Tworzy to plik out.txt z wynikiem polecenia i drukuje go na ekranie. Użyj „tee -a filename”, jeśli chcesz dołączyć do pliku. 
echo "Hello" | tee -a out.txt echo "World" | tee -a out.txt 
 out.txt będzie miał dwie linie Hello i World (bez -a it miałby tylko świat) 
 Jeśli chcesz zapisać cały skrypt i wyświetlić cały skrypt: 
./script.sh | tee output.txt 
 Komentarze