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

Anonim

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 da Del for å 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 din. 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 null.

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 parameterne fra den siste kommandolinjen skrevet, men bare fra siste del av historikken.

Her er noen flere nyttige ord og kommandoer.

Så svaret fra jjlin:

Ctrl + a for å gå til begynnelsen av linjen, deretter 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, er et alternativ til å få Meta modifier å bruke Esc som 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.

Redaksjonens