Hjemmeside » hvordan » Hvordan raskt byttes det første ordet i et baskommando?

    Hvordan raskt byttes det første ordet i et baskommando?

    Hvis arbeidsflyten din er fylt med mange gjentatte handlinger, så blir det aldri vondt å lete etter måter å forbedre og effektivisere arbeidsflyten din. Dagens SuperUser Q & A-innlegg har noen nyttige forslag til en leser som ønsker å forbedre arbeidsflyten sin.

    Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

    Skjermbilde med Matt Joyce (Flickr).

    Spørsmålet

    SuperUser leser mynten ønsker å vite hvordan du raskt kan endre det første ordet i en bash-kommando:

    Jeg vil gjerne forbedre arbeidsflyten min i bash og innså at jeg ofte vil utføre samme kommando til en annen kjørbar.

    Noen eksempler

    1.) Git

    2.) Bash

    Jeg vet at jeg kan slå Ctrl + en deretter del å fjerne det første ordet, men jeg lurer på om det er en raskere måte å gjøre det på.

    Er det en raskere måte for mynten å endre det første ordet i bash-kommandoer?

    Svaret

    SuperUser bidragsytere Spiff, Hastur, jjlin. og Gustavo Giraldez har svaret for oss. Først opp, Spiff:

    !$ utvides til det siste ordet i den forrige kommandoen. Så du kan gjøre:

    Eller

    Eksemplene dine skjedde bare å gjenta det siste ordet, så! $ Fungerte bra. Hvis du faktisk hadde mange argumenter som du ønsket å gjenta, og du bare ville endre det første ordet, kan du bruke! *, Som utvides til alle ordene fra den forrige kommandoen bortsett fra den zeroth.

    Se avsnittet "HISTORY EXPANSION" på bash man-siden. Det er mye fleksibilitet der.

    Etterfulgt av svaret fra Hastur:

    Jeg vil gjerne legge til en advarsel (se svaret fra Spiff ovenfor). Med! $, Har du ikke full visuell kontroll over linjen du kjører. Resultatene kan være skadelige noen ganger, spesielt hvis du påfører et feiltrykk. Det tar hva den trenger fra historien til å utvide seg på.

    Så hvis du skriver den siste kommandoen med et tomt rom i begynnelsen, vil denne kommandoen sannsynligvis ikke være ferdig fra historien. Når du kjører den nye kommandoen med! $, Vil skallet ikke ta parametrene fra den siste kommandolinjen skrevet, men bare fra siste del av historien.

    Her er noen flere nyttige ord og kommandoer.

    Så svaret fra jjlin:

    Ctrl + en å gå til begynnelsen av linjen, da Alt + d for å slette det første ordet.

    Og vårt endelige svar fra Gustavo Giraldez:

    Slett ordgenveien er faktisk Meta + d, og Meta er vanligvis kartlagt til alt på Linux-maskiner. På plattformer hvor dette ikke er tilfelle, et alternativ til å få Meta modifikatoren er å bruke Esc som et prefiks. Du kan lese mer om Meta Key her.


    Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.