Skip to content

Jak szybko zmienić pierwsze słowo w poleceniu Bash?

3 de sierpień de 2021
how to quickly change the first word in a bash command 00

Jeśli Twój przepływ pracy jest wypełniony wieloma powtarzającymi się czynnościami, nigdy nie zaszkodzi szukać sposobów na ulepszenie i usprawnienie przepływu pracy. Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera kilka pomocnych sugestii dla czytelnika, który chce poprawić swój przepływ pracy.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser — pododdziału Stack Exchange, społecznościowej grupy witryn internetowych z pytaniami i odpowiedziami.

Zrzut ekranu dzięki uprzejmości Matt Joyce (Flickr).

Pytanie

Moneta czytnika SuperUser chce wiedzieć, jak szybko zmienić pierwsze słowo w poleceniu bash:

Chciałbym poprawić swój przepływ pracy w bash i zdałem sobie sprawę, że często chcę wykonać to samo polecenie w innym pliku wykonywalnym.

Kilka przykładów

1.) Gita

1628010234 834 Jak szybko zmienic pierwsze slowo w poleceniu Bash

2.) Bash

1628010234 946 Jak szybko zmienic pierwsze slowo w poleceniu Bash

Wiem, że mogę uderzyć Ctrl+a następnie Del usunąć pierwsze słowo, ale zastanawiam się, czy jest na to szybszy sposób.

Czy istnieje szybszy sposób na zmianę pierwszego słowa w poleceniach bash przez coin?

Odpowiedź

Współtwórcy SuperUser Spiff, Hastur, jjlin. a Gustavo Giraldez ma dla nas odpowiedź. Po pierwsze, Spiff:

!$ rozwija się do ostatniego słowa poprzedniego polecenia. Więc możesz zrobić:

1628010235 37 Jak szybko zmienic pierwsze slowo w poleceniu Bash

Lub

1628010235 865 Jak szybko zmienic pierwsze slowo w poleceniu Bash

Twoje przykłady powtarzały tylko ostatnie słowo, więc !$ działał dobrze. Jeśli faktycznie masz wiele argumentów, które chciałbyś powtórzyć, i chciałbyś tylko zmienić pierwsze słowo, możesz użyć !*, który rozwija się do wszystkich słów poprzedniego polecenia z wyjątkiem zera.

Zobacz sekcję „ROZSZERZANIE HISTORII” na stronie man basha. Jest tam duża elastyczność.

Następnie odpowiedź Hastura:

Chciałbym dodać ostrzeżenie (zobacz odpowiedź od Spiff powyżej). Dzięki !$ nie masz pełnej wizualnej kontroli nad linią, którą prowadzisz. Wyniki mogą być czasami szkodliwe, zwłaszcza jeśli popełnisz błąd drukarski. Potrzebuje tego, czego potrzebuje z historii, aby się rozwijać.

Więc jeśli napiszesz ostatnie polecenie z pustym miejscem na początku, to prawdopodobnie to polecenie nie zakończy się z historii. Kiedy wykonasz nowe polecenie z !$, powłoka nie pobierze parametrów z ostatniego wpisanego wiersza polecenia, ale tylko z ostatniej części historii.

Oto kilka innych pomocne słowa i polecenia.

Następnie odpowiedź od jjlin:

Ctrl+a przejść na początek wiersza, to Alt+d aby usunąć pierwsze słowo.

I nasza ostateczna odpowiedź od Gustavo Giraldeza:

Skrót do usuwania słów to w rzeczywistości Meta+d, oraz Meta jest zwykle mapowany na Alt na maszynach z systemem Linux. Na platformach, na których tak nie jest, alternatywą dla uzyskania Meta modyfikator jest w użyciu wyjście jako przedrostek. Możesz przeczytać więcej o Meta klucz tutaj.

Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych doświadczonych technologicznie użytkowników Stack Exchange? Sprawdź pełny wątek dyskusji tutaj.

Czy ten post był pomocny?