Hjemmeside » hvordan » Sådan ændrer du hurtigt det første ord i en baskommando?

    Sådan ændrer du hurtigt det første ord i en baskommando?

    Hvis din arbejdsgang er befolket med mange gentagne handlinger, så bliver det aldrig ondt at finde måder at forbedre og strømline din arbejdsgang på. Dagens SuperUser Q & A-indlæg har nogle nyttige forslag til en læser, der søger at forbedre sin arbejdsgang.

    Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af ​​SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

    Skærmbillede høflighed af Matt Joyce (Flickr).

    Spørgsmålet

    SuperUser-læsermønten vil vide, hvordan man hurtigt ændrer det første ord i en bash-kommando:

    Jeg vil gerne forbedre min workflow i bash og indså, at jeg ofte vil udføre samme kommando til en anden eksekverbar.

    Nogle eksempler

    1.) Git

    2.) Bash

    Jeg ved, at jeg kan slå Ctrl + A derefter del at fjerne det første ord, men jeg spørger mig selv, om der er en hurtigere måde at gøre det på.

    Er der en hurtigere måde for mønten at ændre det første ord i bash-kommandoer?

    Svaret

    SuperUser bidragsydere Spiff, Hastur, jjlin. og Gustavo Giraldez har svaret for os. Først op, Spiff:

    !$ udvider til det sidste ord i din tidligere kommando. Så du kunne gøre:

    Eller

    Dine eksempler skete kun at gentage det sidste ord, så! $ Fungerede fint. Hvis du faktisk havde mange argumenter, som du ønskede at gentage, og du bare ville ændre det første ord, kunne du bruge! *, Som udvider til alle ord i den foregående kommando bortset fra den zeroth.

    Se afsnittet "HISTORY EXPANSION" på bash man-siden. Der er meget fleksibilitet der.

    Efterfulgt af svaret fra Hastur:

    Jeg vil gerne tilføje en advarsel (se svaret fra Spiff ovenfor). Med! $ Har du ikke fuld visuel kontrol over den linje, du kører. Resultaterne kan være skadelige nogle gange, især hvis du pådrager et misprint. Det tager hvad den har brug for fra historien til at ekspandere.

    Så hvis du skriver den sidste kommando med et tomt rum i starten, vil denne kommando sandsynligvis ikke være færdig fra historien. Når du udfører din nye kommando med! $, Vil shell ikke tage parametrene fra den sidste kommandolinje skrevet, men kun fra sidste del af historien.

    Her er nogle mere nyttige ord og kommandoer.

    Så svaret fra jjlin:

    Ctrl + A at gå til begyndelsen af ​​linjen, så Alt + d for at slette det første ord.

    Og vores sidste svar fra Gustavo Giraldez:

    Slette genvej er faktisk Meta + d, og Meta er normalt kortlagt til alt på linux maskiner. På platforme hvor dette ikke er tilfældet, et alternativ til at få Meta modifikator er at bruge Esc som et præfiks. Du kan læse mere om Meta Key her.


    Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.