
Eu tenho um alias que gostaria de usar tanto como usuário regular quanto como root, via sudo. Especificamente, é isto:
alias rm=trash
Isso funciona bem como um usuário normal e funciona bem quando uso sudo -i
para obter um prompt do shell de root, mas se eu usar sudo rm
, o alias não se aplica. Então, onde preciso colocar meu alias para que funcione em comandos sudo únicos?
Responder1
Crie um alias para sudo com um espaço no final:
alias sudo='sudo '
Então todos os outros aliases funcionarão com o sudo.
Mas, como mencionado na outra resposta, o alias rm
para execução trash
provavelmente é uma má ideia. O que eu gosto de fazer é "desabilitar" rm
assim:
alias rm='echo "rm is disabled, use trash or /bin/rm instead."'
Com isso você logo adquirirá o hábito de digitar trash
em vez de rm
.
Responder2
Isso não funcionará, mas se você usar uma função e exportá-la, funcionará.
dl () { trash "$@"; }
export -f dl
É uma má ideia usar o alias rm
porque se você adquirir o hábito do alias ou função que o protege e em algum momento o alias não estiver disponível por algum motivo, então você o usa rm
e ele exclui um monte de coisas que serão difíceis de recuperar .