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.