Często szukam zmian za pomocą history | grep 'string'
W mojej historii pojawia się lista poleceń wraz z numerem wiersza historii), np
history | grep 'git'
755 git status
1535 git push origin master
1570 git merge origin/one-146
1667 git reset --hard origin/master
Teraz mogę przywołać i wykonać polecenie za jednym razem !nnn
, na przykład:
!755
git status
# On branch master
nothing to commit, working directory clean
Moje pytanie brzmi: w jaki sposób mogę przywołać numerowane polecenie historii i pozostać w wierszu poleceń w celu edycji i nie wykonywać go od razu „tak jak jest”, w ten sposób !
, że mogę zmienić kilka rzeczy, które wymagają powrotu?
źródło
Ctrl-a
na przykład) zatrzyma wyszukiwanie, pozostawiając bieżący wpis historii w wierszu polecenia, bez wykonywania go. To może, ale nie wystarczy, w zależności od tego, czego chce @Michael.Jeśli skonfigurujesz plik .bashrc do korzystania z edytora vi w wierszu poleceń, spowoduje to, że edycja wiersza poleceń będzie o wiele mniej skomplikowana.
Po pierwsze, po włączeniu „set -o vi” możesz po prostu nacisnąć „<esc> k” , a następnie wcisnąć „k” , aby przejść do pliku historii tak, jakby był, jeśli przejdziesz obok wpisu, użyj „j” zejść na dół .
UWAGA: w przypadku korzystania z vi istnieją dwa tryby: polecenie i edycja, aby przejść do trybu polecenia, naciśnij klawisz ESCAPE RAZ RAZ, następnie a, A, i, I itd., Aby wstawić.
Prosty pad kursora w vi: lewo = h, dół = j, góra = k, prawo = l http://linuxmeister.net/vi/vi-Summary.jpg
Dodałem wszystkie wpisy potrzebne do działania tej strony: http://linuxmeister.net/Notes/bashrc-simple.html
Tak więc, w oparciu o bardzo pomocne informacje powyżej, byłem w stanie użyć „historii” i PRZYWOŁOWAĆ wiersz z „historii”, BEZ jego wykonania. (DZIĘKUJEMY ZA TEN POST!)
jeśli shopt jest na liście, a histverify jest wyłączony! wykona natychmiast,
jeśli dodałeś do swojego .bashrc lub wpisałeś: shopt -s histverify , to a! umożliwia edycję, na przykład:
->! 5
kiedy uderzę! 5 pojawi się następujące polecenie, ale NIE zostanie wykonane
### jeśli histverify jest „włączony”.
Pamiętaj, że Linus i Richard stworzyli narzędzia Linux i GNU, aby skorzystać z systemu UNIX. Edytor vi (stworzony przez Billa Joya) jest jednym z najlepszych narzędzi do opanowania, tak jak w KAŻDEJ dystrybucji systemów UNIX i Linux.
Wszystkie pozostałe edytory wiersza poleceń muszą zostać załadowane i wymagają dodatkowego oprogramowania. Korzystanie z GUI w Linuksie (innym niż Firefox, Thunderbird i OpenOffice) jest jak holowanie twojego Diesel 4x4 za pomocą VW Beetle z 1968 roku ... będzie działać, ale na pewno nie ma sensu.
Pamiętaj, co Kernigan powiedział o GUI: „to, co widzisz, to wszystko, co dostajesz”.
źródło
następnie naciśnij strzałkę w górę, usuń słowo
echo
i edytuj resztę; naciśnij enter, aby wykonać.źródło