Ich benutze find
oder locate
um Wege zu finden.
(~) locate foobar.mmpz
/home/progo/lmms/projects/foobar.mmpz
Der nächste Schritt besteht häufig darin, die Dateien zu öffnen oder auf andere Weise zu bearbeiten. In einem glücklichen Fall wie oben kann ich dies tun:
(~) ls `!!`
ls `locate foobar.mmpz`
/home/progo/lmms/projects/foobar.mmpz
Aber niemand ist zu glücklich, wenn es viele Ausgabezeilen gibt, von denen einige möglicherweise keine Pfade oder ähnliches sind. Außerdem ist es auch nicht besonders elegant, potenziell verschwenderische Befehle erneut auszuführen.
Gibt es eine Möglichkeit, zsh anzuschließen, um die stdout für spätere Manipulationen in einem Array zu speichern? Schließlich ist es die Aufgabe der Shell, die Streams an den Benutzer umzuleiten. Ich denke, es könnte die ersten N und letzten N Zeilen in einer Variablen für die sofortige spätere Verwendung speichern, wie $?
und andere.
Ok , das ist ziemlich cool: /unix//a/59704/5674 . Ich frage jetzt nach dem zsh-Know-how (und dem Portieren des Codes nach zsh), um diese Art der Erfassung nach jeder Ausführungszeile zu manipulieren.
screen
or script
und precmd und preexec tun.