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
Mientras su alias esté en su
.bashrc
, debería poder hacer...|xargs bash -c somealias ...
Es más fácil poner su alias en un script de shell. Cree
~/bin
, agréguelo a suPATH
, 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 -ic
en lugar de bash -c
.