Melhore o alias existente para substituir dinamicamente o texto da linha de comando

2

Eu tenho um alias em .bashrc assim:

alias ylog = "yarn logs -applicationId"

Isso funciona bem quando eu faço ylog application_123 .

Às vezes, os nomes dos meus trabalhos aparecem na forma de job_123 em vez de application_123 e para obter ylog eu preciso substituir manualmente o texto "job" por "application" na linha de comando.

É possível melhorar o alias para que ocorra o seguinte:

  • ylog job_123 resolve para ylog application_123
  • ylog application_123 resolve para ylog application_123
por Stephane 18.05.2016 / 04:36

1 resposta

4

O Bash não permite parâmetros em aliases, por isso você precisa definir e usar uma função, por exemplo:

ylog() {
    yarn logs -applicationId "${1/#job_/application_}"
}
    
por 18.05.2016 / 04:53