Mon objectif est de consigner toutes les sorties d'un script dans un répertoire que le script va créer.
Par exemple, j'ai:
~/.abc.sh
:
#! /bin/bash
rails new myapp
Quand je cours ...
cd ~/code
. ~/.abc.sh
... qui créera une nouvelle application Rails dans le répertoire ~/code/myapp
.
Lorsque Rails crée une application, il génère beaucoup de texte que je souhaite capturer et stocker dans un fichier journal dans le même répertoire que la rails
commande nouvellement créée. Je souhaite également afficher ce texte dans le terminal.
Comment dois-je procéder?
~/.abc.sh | tee <file>
? Si c'est le cas, le problème est que je ne sais pas dans quel répertoire le script va créer l'application lorsque je l'appelle, alors comment saurais-je quoi donner dans l'file
argument? (Merci pour les bons exemples)mktemp
. Voir la page de manuelman mktemp
.script
démarrera une session interactive et enregistrera toutes les sorties (stdout / stderr etc.) dans un fichier, ou (avec le-c
paramètre) exécutera une commande et enregistrera la sortie de cela.Remarque: dans une session interactive, vous pouvez arrêter l'enregistrement simplement en quittant la session comme vous le feriez normalement (par exemple
exit
ou Ctrl-D).Pour l'enregistrement de session avec lecture vidéo, vous pouvez également essayer l' ascininema .
la source