Od czasu do czasu dobrze byłoby dodać polecenie bezpośrednio do historii w Bash bez wykonywania go. Jak dotąd zamkniętą rzeczą, którą znalazłem, jest dodanie #
przed nią i uderzenie w powrót. Czy są lepsze sposoby?
bash
command-history
Grumbel
źródło
źródło
./resize-images.sh
którego ostatnia linia wskazuje polecenie, które należy uruchomić, aby cofnąć zmiany, byłoby naprawdę przydatne, gdyby zamiast tego skrypt mógł dodać polecenie do mojej historii, więc po prostu uderzyłem,up-enter
gdybym musiał cofnąćhistory -s
dowództwoMożesz nawet przypisać naciśnięcie klawisza, aby zrobić to za Ciebie. Możesz wprowadzić to po wyświetleniu monitu Bash:
lub dodaj to do
~/.inputrc
:następnie możesz coś wpisać i nacisnąć Ctrl- qa zostanie on dodany do historii bez wykonania. Spacja przed „historią” powoduje, że
history
sama komenda nie jest dodawana do historii, jeśliHISTCONTROL
zmienna zawieraignorespace
lubignoreboth
. Zamiast „\ Cq” można wybrać kolejne naciśnięcie klawisza.źródło
Trudno wymyślić coś krótszego niż „polecenie” jednej postaci, więc naprawdę musimy przejść na poziom naciśnięcia klawisza. Z moją konfiguracją bash i klawiaturą amerykańską to, co teraz robisz:
#
(potrzebuje SHIFT): instrukcja +1, naciśnięcie klawisza +2więc łącznie 3 instrukcje, 5 naciśnięć klawiszy.
Używanie ALT#robi to samo w 1 instrukcji, 2 naciśnięciach klawiszy.
YMMV w zależności od układu klawiatury i konfiguracji bash.
źródło
#command
jest znacznie szybsze niżhistory -s command
, a także bardzo łatwe w użyciu, jeślihistory-search-backward/-forward
poprawnie mapujesz. Ale to kwestia gustu.