Početna » kako da » Kako brzo promijeniti prvu riječ u Bash komandi?

    Kako brzo promijeniti prvu riječ u Bash komandi?

    Ako je vaš tijek rada popunjen s mnogo ponavljajućih radnji, nikada ne boli tražiti načine kako poboljšati i pojednostaviti svoj tijek rada. Današnja postova s ​​pitanjima o odgovorima korisnika imaju neke korisne prijedloge za čitatelja koji želi poboljšati svoj tijek rada.

    Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupiranja web-lokacija za pitanja i odgovore u zajednici.

    Snimak je dopustio Matt Joyce (Flickr).

    Pitanje

    Novac SuperUser čitač želi znati kako brzo promijeniti prvu riječ u bash naredbi:

    Htio bih poboljšati svoj tijek rada u bash-u i shvatio da često želim izvršiti istu naredbu za drugu izvršnu datoteku.

    Neki primjeri

    1.) Git

    2.) Bash

    Znam da mogu udariti Ctrl + a zatim del ukloniti prvu riječ, ali pitam se postoji li brži način.

    Postoji li brži način da novčić promijeni prvu riječ u bash naredbama?

    Odgovor

    SuperUser suradnici Spiff, Hastur, jjlin. i Gustavo Giraldez imaju odgovor za nas. Prvo gore, Spiff:

    !$ se proširuje na zadnju riječ vaše prethodne naredbe. Tako možete učiniti:

    Ili

    Vaši su se primjeri samo ponovili posljednju riječ, pa je $ radila dobro. Ako ste zapravo imali mnogo argumenata koje ste htjeli ponoviti, a vi ste samo htjeli promijeniti prvu riječ, mogli biste koristiti! *, Koja se proširuje na sve riječi prethodne naredbe osim nule.

    Pogledajte odjeljak "HISTORY EXPANSION" na stranici bash man. Tu je mnogo fleksibilnosti.

    Slijedi odgovor Hastura:

    Želim dodati upozorenje (pogledajte odgovor iz gore navedene Spiff). Sa! $, Nemate potpunu vizualnu kontrolu linije koju izvodite. Rezultati mogu ponekad biti štetni, pogotovo ako dođete do pogrešnog otiska. Potrebno je ono što mu je potrebno iz povijesti da se proširi.

    Dakle, ako napišete posljednju naredbu s praznim prostorom na početku, onda ova naredba vjerojatno neće završiti iz povijesti. Kada izvršite novu naredbu s! $, Ljuska neće uzeti parametre iz zadnje upisane komandne linije, već samo iz posljednjeg dijela povijesti.

    Ovdje su neke korisne riječi i naredbe.

    Onda odgovor iz jjlina:

    Ctrl + a zatim prijeđite na početak retka Alt + d za brisanje prve riječi.

    I naš konačni odgovor od Gustava Giraldeza:

    Prečica za brisanje riječi je zapravo Meta + d, i meta obično se mapira na Alt na Linux strojevima. Na platformama gdje to nije slučaj, alternativa za dobivanje meta koristiti modifikator Esc kao prefiks. Možete pročitati više o Meta ključ ovdje.


    Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.