Często używam find
lub, locate
aby dowiedzieć się o ścieżkach.
(~) locate foobar.mmpz
/home/progo/lmms/projects/foobar.mmpz
Następnym krokiem jest często otwieranie plików lub manipulowanie nimi w inny sposób. W szczęśliwym przypadku, takim jak powyżej, mogę to zrobić:
(~) ls `!!`
ls `locate foobar.mmpz`
/home/progo/lmms/projects/foobar.mmpz
Ale nikt nie jest zbyt szczęśliwy, gdy istnieje wiele linii wyników, z których niektóre mogą nie być ścieżkami lub czymś innym. Poza tym ponowne uruchamianie potencjalnie marnotrawnych poleceń również nie jest tak eleganckie.
Czy byłby sposób na podłączenie zsh do przechowywania standardowego wejścia w tablicy do późniejszej manipulacji? W końcu zadaniem powłoki jest przekierowanie strumieni do użytkownika. Myślę, że może przechowywać pierwszą N i ostatnią N linii w zmiennej do natychmiastowego późniejszego użycia, jak $?
i innych.
Ok, więc to całkiem fajne: /unix//a/59704/5674 . Pytam teraz o know-how zsh (i przenoszenie kodu do zsh), aby ustawić ten rodzaj przechwytywania po każdej linii uruchamiania.
screen
lub script
i precmd i preexec.