
Tengo un alias que me gustaría utilizar como usuario normal y como root, mediante sudo. En concreto es este:
alias rm=trash
Esto funciona bien como usuario normal y funciona bien cuando lo uso sudo -i
para obtener un indicador de shell raíz, pero si uso sudo rm
, el alias no se aplica. Entonces, ¿dónde necesito poner mi alias para que funcione en comandos sudo únicos?
Respuesta1
Crea un alias para sudo con un espacio al final:
alias sudo='sudo '
Entonces todos los demás alias funcionarán con sudo.
Pero como se mencionó en la otra respuesta, el alias rm
para ejecutar trash
probablemente sea una mala idea. Lo que me gusta hacer es "deshabilitar" rm
así:
alias rm='echo "rm is disabled, use trash or /bin/rm instead."'
Con esto pronto adquirirás el hábito de escribir trash
en lugar de rm
.
Respuesta2
Eso no funcionará, pero si usa una función y la exporta, sí funcionará.
dl () { trash "$@"; }
export -f dl
Es una mala idea utilizar un alias rm
porque si adquieres el hábito de que el alias o la función te protejan y en algún momento el alias no está disponible por alguna razón, entonces lo usas rm
y elimina un montón de cosas que serán difíciles de recuperar. .