saída de piping para um alias

1

para executar um determinado comando eu preciso usar

sudo -h -u someuser <somecommand>

para salvar alguma sanidade, criei um alias

alias somecommand='function _dm(){ sudo -u ubuntu somecommand $@; };_dm'

Isso funciona muito bem até eu tentar fazer algo sofisticado.

somecommand arg1 | xargs somecommand arg2

Isso me causa problemas, pois o xargs não invoca o alias. É possível fazer isso funcionar de alguma forma?

    
por Jeffrey Ellin 11.10.2015 / 02:48

1 resposta

0
  1. Contanto que seu alias esteja no seu .bashrc , você poderá fazer ...|xargs bash -c somealias ...

  2. É mais fácil colocar seu alias em um script de shell. Faça ~/bin , adicione-o ao seu PATH , insira o script e seu comando original funcionará.

Exemplo de script de shell:

#!/bin/bash
sudo -u ubuntu somecommand "$@"

Editar : esta resposta sugere testar o # 1 com bash -ic em vez de bash -c .

    
por 11.10.2015 / 02:52

Tags