3Sep

Como mudar rapidamente a primeira palavra em um comando Bash?

Se o seu fluxo de trabalho estiver preenchido com muitas ações repetitivas, nunca dói buscar maneiras de melhorar e agilizar seu fluxo de trabalho. O super-usuário Q & A Post tem algumas sugestões úteis para um leitor que procura melhorar seu fluxo de trabalho.

Pergunta de hoje e amp;A sessão de atendimento chega a cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento comunitário de sites Q & A.

Captura de tela de tela de Matt Joyce( Flickr).

A Pergunta

A moeda do leitor SuperUser quer saber como mudar 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 posso acertar Ctrl + a e Del para remover a primeira palavra, mas estou me perguntando se há uma maneira mais rápida de fazê-lo.

Existe uma maneira mais rápida de trocar a primeira palavra nos comandos bash?

A resposta

SuperUser contribuintes 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 repetir a última palavra, então! $ Funcionou bem. Se você realmente tivesse muitos argumentos que queria repetir, e você queria apenas mudar a primeira palavra, você poderia usar! *, Que se expande para todas as palavras do comando anterior, exceto o zeroth.

Veja a seção "EXPANSÃO DE HISTÓRIA" da página do man in bash. Há muita flexibilidade lá.

Seguido pela resposta de Hastur:

gostaria de adicionar um aviso( veja a resposta de Spiff acima ).Com! $, Você não possui controle visual completo da linha que você está executando. Os resultados podem ser prejudiciais às vezes, especialmente se você incorre em uma falta de impressão.É preciso o que precisa da história para se expandir.

Então, se você escrever o último comando com um espaço em branco no início, esse comando provavelmente não será concluído a partir do histórico. Quando você executa seu novo comando com! $, O shell não tomará 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 do jjlin:

Ctrl + a para ir ao início da linha, então Alt + d para excluir a primeira palavra.

E a nossa resposta final de Gustavo Giraldez:

O atalho de palavra-chave de supressão é realmente Meta + d e Meta geralmente é mapeado para Alt em máquinas Linux. Em plataformas onde este não é o caso, uma alternativa para obter o modificador Meta é usar Esc como prefixo. Você pode ler mais sobre Meta Key aqui.

Tem alguma coisa a adicionar à explicação? Som desligado nos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.