canalizar la salida a un alias

canalizar la salida a un alias

para ejecutar un determinado comando necesito usar

sudo -h -u someuser <somecommand>

Para guardar algo de cordura creé un alias

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

Esto funciona muy bien hasta que intento hacer algo elegante.

somecommand arg1 | xargs somecommand arg2

Esto me causa problemas ya que xargs no invoca el alias. ¿Es posible hacer que esto funcione de alguna manera?

Respuesta1

  1. Mientras su alias esté en su .bashrc, debería poder hacer...|xargs bash -c somealias ...

  2. Es más fácil poner su alias en un script de shell. Cree ~/bin, agréguelo a su PATH, coloque el script y su comando original funcionará.

Ejemplo de script de shell:

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

Editar:esta respuestasugiere probar el n.° 1 con bash -icen lugar de bash -c.

información relacionada