2017-12-07 8 views
0

Ich suche nach einem Weg, um meine Dokumentation schneller für meine Projektarbeit zu bekommen. Eine Sache, die mir helfen würde, wäre, meinen Verlauf und jede Befehlsausgabe in einer Datei aufzuzeichnen. Allerdings möchte ich das nicht die ganze Zeit haben, und ich würde es lieber nicht als eine Umschaltoption für das Risiko haben, zu vergessen, es auszuschalten und eine Ladung Junk aufzunehmen, die ich einfach gehen und später löschen muss .Alias ​​zum Aufzeichnen aller Befehle und Standardausgabe in eine Datei

Die Idee, die ich hatte, war ein Alias ​​zu erstellen, läßt ‚wörtlich‘ sagen, so dass ich als so den Befehl eingeben könnte:

verbatim <command> 

Und dann würde die Alias ​​‚wörtlich‘, nehmen Sie was auch immer das Entfernen wurde eingegeben und prepend/hängen sie ihn mit:

echo -n \[\$(date)\] >> output_file | echo "<command>" >> output_file | <command> | fee -a output_file | echo " " >> output_file 

wo der Ausgang sein wird:

<timestamp> 
<command> 
<outputOfTheCommand> 
<newLine> 

konnte auch Kommentare hinzufügen, indem

verbatim #some comment to go in line 

Beispiel:

verbatim #deploying the production stack upgrade 
verbatim <someDeployCommand> 

Auf diese Weise, indem Sie nur ein Wort extra pro Zeile kann ich alles, was aufzuzeichnen geschieht, wie ich einen Einsatz zum Beispiel machte, die dazu verwendet werden kann, um Im Grunde tun alle meine Dokumentation für mich, da es in einer Datei in der Reihenfolge gespeichert wird, alles, was ich tun muss, ist, alles zu entfernen, was im Nachhinein irrelevant ist. Und die Tatsache, dass alle Daten mit einem Zeitstempel versehen sind, bedeutet, dass RCA auch beschleunigt werden kann, wenn etwas schief geht.

Vielen Dank im Voraus, jede und alle Ratschläge begrüßen

Antwort

0

würde ich meinen Einsatz wie gewohnt nur tun, und dann head -n 20 ~/.bash_history hinzufügen und die 20 in Abhängigkeit von der Geschichte Größe Ich mag bearbeiten.

0

sollten Sie wahrscheinlich nur script verwenden, aber man konnte so etwas wie:

v() { { date; echo "[email protected]"; "[email protected]" | tee /dev/tty; echo; } >> ${OUTPUT-/tmp/output} 2>&1; } 

oder

v() { { date; echo "[email protected]"; "[email protected]"; echo; } 2>&1 | tee -a ${OUTPUT-/tmp/output}; } 

(verbatim ist zu lang, so dass ich verkürzt es v)

Dies wird überhaupt keine Kommentare behandeln; Dazu müsste ein neuer Parser geschrieben werden, da der Kommentar von der Funktion nie gesehen wird. Aber Sie können immer echo "# some comment" >> $OUTPUT

Verwandte Themen