Jestem w stanie użyć history
polecenia w CentOS, aby uzyskać listę wcześniej wprowadzonych poleceń, jednak jeśli zrobię coś takiego: !372
historia spróbuje uruchomić polecenie, do którego się odwołuje.
Potrzebuję poprzedniego polecenia uruchomienia, aby pojawił się w bieżącym kursorze. Oto przykład:
[dev@home ~]$ previous_command_no_execute!372
!372
a rozwinie je dla Ciebie.Możesz użyć, Ctrlra następnie wpisać niektóre znaki z oryginalnego polecenia, np
powyżej wpisałem
Ctrl-r /etc
i wyciągnęło tosudo /etc/init.d/apache2 restart
polecenie z historiiźródło
history | grep 372
powinien działać, prawda?Edytować:
Dodatkowo możesz zrobić coś takiego,
echo !372 > /dev/clip
aby umieścić katalog poleceń w schowku.źródło
MDMarra podał prosty sposób (
history|grep
i skopiuj / wklej za pomocą środowiska pulpitu, pod warunkiem , że masz). Dostarczę to, co nazywam twardą drogą, co działa, jeśli nie masz środowiska pulpitu lub myszy.Zakładając, że uruchamiasz bash jako swoją powłokę:
$ set -o vi 372k
$ESC
(teraz będziesz mieć polecenie, które uruchomiłeś 372 polecenia temu, w linii, i będziesz w
vi
trybie poleceń w stylu. Edytuj tak, jakbyś używałex
/vi
)źródło
vi
edycję stylu. To powinno działać jak najszybciejset -o vi
, i powinien działać dla całej historii (tryb edycji jest tylko interfejs do historii poleceń powłoki i innymi).Najprostszym i najszybszym sposobem na zrobienie tego, co chcesz, jest uruchomienie:
następnie Enteri↑
źródło
Czy korzystasz z systemu stacjonarnego lub serwera?
W moim systemie stacjonarnym Kubuntu z otwartą powłoką obsługuje podświetlanie za pomocą myszy. Zazwyczaj zaznaczam tekst za pomocą myszy i klikam środkowym przyciskiem myszy, aby go wkleić. Czy to by Ci pasowało?
Możesz więc grep dla polecenia. Zaznacz tekst. Wklej go środkowym przyciskiem myszy, a następnie edytuj.
Może być lepszy sposób, ale to działa dla mnie.
źródło
nie ma polecenia automatycznego wklejania, ale możesz wywołać dowolne polecenie w edytorze, aby edytować je przed wykonaniem. może to osiągnąć to, czego szukasz, ale po wyjściu z polecenia polecenie zostanie wykonane, więc jeśli chcesz przerwać, powinieneś wyczyścić bufor edycji przed wyjściem z edytora.
fc -e vi 372 372
źródło