Moja obecna screen
sesja ma 12 otwartych okien. Działa od tygodni ... Wiem, że wykonałem convert
komendę ImageMagick w jednym z tych 12 okien ekranowych w zeszłym tygodniu ... czy jest jakiś sposób na łatwe przeszukanie historii Bash wszystkich 12 instancji, bez ich zamykania lub uruchamiania history | grep convert
na wszystkich 12 ekranach?
11
setopt share_history
się/etc/zsh/zshrc
więc tego problemu nie powinno się zdarzyć do mnie: POdpowiedzi:
Możesz uruchomić
history -a; history -c
we wszystkich oknach, aby zapisać historię. A potemhistory -r
go odświeżyć.Aby rozwiązać to bardziej trwale, dodaj to do
.bashrc
:źródło
Brzmi trudno. Oto kilka metod, które mogą Ci pomóc.
Jeśli masz zainstalowane narzędzia do rozliczania procesów (w systemie Linux, poszukaj pakietu o nazwie
acct
) i uprawnienia do ich używania, możesz dowiedzieć się, kiedy i być może na jakim terminalu działałeśconvert
:Jeśli jest to niedostępne lub niejednoznaczne, możesz wykonać
history
polecenie w każdej instancji bash, aby wyszukaćconvert
polecenia. Znajduje to polecenia, które były w pliku historii, gdy uruchomiono bash.$(seq 0 11)
iteruje po liczbie okien ekranu. Pamiętaj, aby pominąć okna, które nie są obecnie uruchomione przez bash, ale jakiś inny proces, który interpretowałby dane wejściowe inaczej.screen -p $w stuff …
wysyła następujący ciąg jako dane wejściowe do określonego okna. Potrzebujesz nowej linii na końcu łańcucha./tmp/convert.history
będzie zawierał listę linii, takich jak3 convert foo.jpg
jeśli uruchomiłeśconvert foo.jpg
w oknie 3.źródło
history | grep convert
we wszystkich oknach. Jestem rozczarowany, chciałem zaakceptować kolejną świetną odpowiedź Gillesa!tcsh pozwala udostępniać historię między sesjami za pomocą aliasu okresowego.
W pliku .cshrc (lub .tcshrc):
Spowoduje to automatyczne wykonanie polecenia historii co 60 minut. Spowoduje to zapisanie historii we wspólnym pliku historii w twoim katalogu domowym. Aby częściej aktualizować historię, zmniejsz liczbę okresów lub po prostu uruchom polecenie „okresowe”, aby ręcznie odświeżyć
źródło
Bash zapisuje historię dopiero po wyjściu, co w najlepszym wypadku sprawia problemy. Słyszałem, że zsh może udostępniać historię między aktywnymi sesjami.
źródło