Hemsida » hur » Hur snabbt ändras det första ordet i ett baskommando?

    Hur snabbt ändras det första ordet i ett baskommando?

    Om ditt arbetsflöde är fyllt med många repetitiva åtgärder, så skadar det aldrig för att leta efter sätt att förbättra och effektivisera ditt arbetsflöde. Dagens SuperUser Q & A-tjänst har några användbara förslag till en läsare som vill förbättra sitt arbetsflöde.

    Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

    Skärmdump med Matt Joyce (Flickr).

    Frågan

    SuperUser-läsare mynt vill veta hur man snabbt byter det första ordet i ett bash-kommando:

    Jag skulle vilja förbättra mitt arbetsflöde i bash och insåg att jag ofta vill utföra samma kommando till en annan körbar.

    Några exempel

    1.) Git

    2.) Bash

    Jag vet att jag kan slå Ctrl + a sedan del för att ta bort det första ordet, men jag undrar om det finns ett snabbare sätt att göra det.

    Finns det ett snabbare sätt för mynt att ändra det första ordet i bash-kommandon?

    Svaret

    SuperUser bidragsgivare Spiff, Hastur, jjlin. och Gustavo Giraldez har svaret för oss. Först upp, Spiff:

    !$ expanderar till det sista ordet i ditt tidigare kommando. Så du kan göra:

    Eller

    Dina exempel hände bara att upprepa det sista ordet, så! $ Fungerade bra. Om du faktiskt hade många argument som du ville repetera, och du bara ville ändra det första ordet, kan du använda! *, Som expanderar till alla ord i det föregående kommandot, utom den zeroth.

    Se avsnittet "HISTORY EXPANSION" på bash man sidan. Det finns mycket flexibilitet där.

    Följd av svaret från Hastur:

    Jag skulle vilja lägga till en varning (se svaret från Spiff ovan). Med! $ Har du inte fullständig visuell kontroll över linjen du kör. Resultaten kan vara skadliga ibland, särskilt om du har ett felavtryck. Det tar vad den behöver från historien att expandera på.

    Så om du skriver det sista kommandot med ett tomt utrymme i början, kommer det här kommandot förmodligen inte att slutföras från historiken. När du utför ditt nya kommando med! $ Kommer skalet inte ta parametrarna från den sista kommandoraden som skrivits, men endast från den sista delen av historiken.

    Här är några mer användbara ord och kommandon.

    Då svaret från jjlin:

    Ctrl + a att gå till början av linjen då Alt + d för att radera det första ordet.

    Och vårt sista svar från Gustavo Giraldez:

    Radera radera ord är faktiskt Meta + d, och meta brukar mappas till Alt på Linux-maskiner. På plattformar där det inte är fallet, ett alternativ att få meta modifierare är att använda Esc som ett prefix. Du kan läsa mer om Meta Key här.


    Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.