3Sep

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

Om ditt arbetsflöde fylls 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-inlägg har några användbara förslag till en läsare som vill förbättra sitt arbetsflöde.

Dagens fråga &Svarssession 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 + en sedan Del för att ta bort det första ordet, men jag undrar om det finns en 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 ville bara ändra det första ordet, kan du använda! *, Som expanderar till alla ord i föregående kommando utom zeroth.

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

Följd av svaret från Hastur:

skulle jag vilja lägga till en varning( se svaret från Spiff ovanför ).Med! $ Har du inte fullständig visuell kontroll över linjen du kör. Resultaten kan vara skadliga ibland, speciellt 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! $, Tar skalet inte parametrarna från den sista kommandoraden som skrivits, men bara från sista delen av historiken.

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

Då svaret från jjlin:

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

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

Radera raderingen är faktiskt Meta + d , och Meta är vanligtvis mappad till Alt på Linux-maskiner. På plattformar där det inte är fallet, är ett alternativ för att få Meta modifier att använda Esc som 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.