Pagina inicial » como » Como alterar rapidamente a primeira palavra em um comando Bash?

    Como alterar rapidamente a primeira palavra em um comando Bash?

    Se o seu fluxo de trabalho for preenchido com muitas ações repetitivas, nunca será demais procurar formas de melhorar e agilizar seu fluxo de trabalho. A postagem de perguntas e respostas do SuperUser de hoje tem algumas sugestões úteis para um leitor que deseja melhorar seu fluxo de trabalho.

    A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..

    Imagem cedida por Matt Joyce (Flickr).

    A questão

    A moeda do leitor SuperUser quer saber como alterar rapidamente a primeira palavra em um comando bash:

    Eu gostaria de melhorar meu fluxo de trabalho no bash e percebi que muitas vezes eu quero executar o mesmo comando para um executável diferente.

    Alguns exemplos

    1.) Git

    2.) Bash

    Eu sei que eu posso acertar Ctrl + a então Del para remover a primeira palavra, mas eu estou querendo saber se existe uma maneira mais rápida de fazer isso.

    Existe uma maneira mais rápida de moeda para mudar a primeira palavra em comandos bash?

    A resposta

    Colaboradores do SuperUser Spiff, Hastur, jjlin. e Gustavo Giraldez tem a resposta para nós. Primeiro, Spiff:

    !$ expande para a última palavra do seu comando anterior. Então você poderia fazer:

    Ou

    Seus exemplos aconteceram apenas para repetir a última palavra, então! $ Funcionou bem. Se você realmente tinha muitos argumentos que queria repetir, e só queria mudar a primeira palavra, você poderia usar! *, Que se expande para todas as palavras do comando anterior, exceto o zeroth..

    Veja a seção “HISTORY EXPANSION” da página man bash. Há muita flexibilidade lá.

    Seguido pela resposta do Hastur:

    Eu gostaria de adicionar um aviso (veja a resposta de Spiff acima). Com! $, Você não tem controle visual total da linha que está sendo executada. Os resultados podem ser prejudiciais às vezes, especialmente se você incorrer em um erro de impressão. Leva o que precisa da história para expandir.

    Portanto, se você escrever o último comando com um espaço em branco no início, esse comando provavelmente não será concluído no histórico. Quando você executa seu novo comando com! $, O shell não aceita os parâmetros da última linha de comando digitada, mas somente da última parte do histórico..

    Aqui estão algumas palavras e comandos mais úteis.

    Então a resposta de jjlin:

    Ctrl + a para ir para o começo da linha, então Alt + d para apagar a primeira palavra.

    E nossa resposta final de Gustavo Giraldez:

    O atalho para excluir palavra é, na verdade, Meta + d, e Meta é geralmente mapeado para Alt em máquinas Linux. Em plataformas onde isso não é o caso, uma alternativa para obter o Meta modificador é usar Esc como um prefixo. Você pode ler mais sobre o Chave Meta Aqui.


    Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.