canalizando a saída para um alias

canalizando a saída para um alias

para executar um determinado comando eu preciso usar

sudo -h -u someuser <somecommand>

para salvar um pouco da sanidade, criei um alias

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

Isso funciona muito bem até que eu tente fazer algo sofisticado.

somecommand arg1 | xargs somecommand arg2

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

Responder1

  1. Contanto que seu alias esteja em 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, coloque o script e seu comando original funcionará.

Exemplo de script de shell:

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

Editar:esta respostasugere tentar #1 com bash -icem vez de bash -c.

informação relacionada