Problema com alias

1. Problema com alias

rob
robgeek

(usa Debian)

Enviado em 12/05/2016 - 22:35h

Boa noite!

Por distração, volta e meia(aconteceu duas vezes) eu deleto arquivos usando "rm -rf". Uma dessas vezes eu estava como super user. Li que posso criar uma "alias" em que toda vez que eu digitar "rm -rf" ele executa "rm -rfi". O problema é que esses tutoriais da internet só ensinam aliases com comandos sem argumentos, por exemplo:
alias ls='ls -la'
alias atualizar='sudo apt-get upgrade'


Como eu faço para criar um alias com comandos que tem argumentos? Tentei as combinações abaixo, mas não deu certo nenhuma.
alias rm -rf='rm -rfi'
alias rm\ -rf='rm -rfi'
alias 'rm -rf'='rm -rfi'



  


2. Re: Problema com alias

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 13/05/2016 - 11:35h

robgeek escreveu:

Boa noite!

Por distração, volta e meia(aconteceu duas vezes) eu deleto arquivos usando "rm -rf". Uma dessas vezes eu estava como super user. Li que posso criar uma "alias" em que toda vez que eu digitar "rm -rf" ele executa "rm -rfi". O problema é que esses tutoriais da internet só ensinam aliases com comandos sem argumentos, por exemplo:
alias ls='ls -la'
alias atualizar='sudo apt-get upgrade'


Como eu faço para criar um alias com comandos que tem argumentos? Tentei as combinações abaixo, mas não deu certo nenhuma.
alias rm -rf='rm -rfi'
alias rm\ -rf='rm -rfi'
alias 'rm -rf'='rm -rfi'


Não é possível. Use funções e/ou scripts.

Falhas ocorrem e sempre ocorrerão, para ficar seguro, tenha um backup atualizado e testado e não admita que aspectos externos como problemas familiares e tóxico ambiente de trabalho o prejudiquem ou os erros ocorrerão com frequência independente do "engessamento" que criar para si mesmo.



3. Re: Problema com alias

rob
robgeek

(usa Debian)

Enviado em 13/05/2016 - 17:29h

Obrigado por sua resposta.

Pois é, eu fiz um assim:
alias rm='rm -rfi' 


Está funcionado. Só tenho que pegar o costume de usar somente "rm" sem qualquer argumento.

Tem como eu fazer um alias para usuário comum e outro para somente para superuser?

Pensei em fazer o seguinte: Sempre que eu usar "rm" como usuário comum, ele move o arquivo ou pasta para o ~/.local/share/Trash/ e toda vez que eu fizer rm como superuser ele realmente apaga o arquivo.


4. Re: Problema com alias

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 13/05/2016 - 18:12h

robgeek escreveu:

Obrigado por sua resposta.

Pois é, eu fiz um assim:
alias rm='rm -rfi' 


Está funcionado. Só tenho que pegar o costume de usar somente "rm" sem qualquer argumento.

Tem como eu fazer um alias para usuário comum e outro para somente para superuser?

Pensei em fazer o seguinte: Sempre que eu usar "rm" como usuário comum, ele move o arquivo ou pasta para o ~/.local/share/Trash/ e toda vez que eu fizer rm como superuser ele realmente apaga o arquivo.


Coloque o alias correspondente no arquivo de inicialização do shell em uso, assim você separa o que cada um deve fazer. Ao fazer login com 'su' ou 'sudo' não esquecer de mandar carregar o ambiente do usuário destino.

Ao longo do anos vi várias implementações em shell e até em C. Faça uma pesquisa aqui no VOL e na web também porque existem muitas soluções prontas e testadas.



5. Re: Problema com alias

rob
robgeek

(usa Debian)

Enviado em 13/05/2016 - 18:40h

textmode escreveu:

robgeek escreveu:

Obrigado por sua resposta.

Pois é, eu fiz um assim:
alias rm='rm -rfi' 


Está funcionado. Só tenho que pegar o costume de usar somente "rm" sem qualquer argumento.

Tem como eu fazer um alias para usuário comum e outro para somente para superuser?

Pensei em fazer o seguinte: Sempre que eu usar "rm" como usuário comum, ele move o arquivo ou pasta para o ~/.local/share/Trash/ e toda vez que eu fizer rm como superuser ele realmente apaga o arquivo.


Coloque o alias correspondente no arquivo de inicialização do shell em uso, assim você separa o que cada um deve fazer. Ao fazer login com 'su' ou 'sudo' não esquecer de mandar carregar o ambiente do usuário destino.

Ao longo do anos vi várias implementações em shell e até em C. Faça uma pesquisa aqui no VOL e na web também porque existem muitas soluções prontas e testadas.


Acho que não entendi completamente. Uso o Terminator e coloquei esse alias no ~/.bashrc. Como fazer para superuser?

Não entendi essa parte:
"Ao fazer login com 'su' ou 'sudo' não esquecer de mandar carregar o ambiente do usuário destino."


6. Re: Problema com alias

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 13/05/2016 - 19:02h

[quote
Não entendi essa parte:
"Ao fazer login com 'su' ou 'sudo' não esquecer de mandar carregar o ambiente do usuário destino."[/quote]

su - 

e
sudo -i 


para garantir que os arquivos de inicialização sejam lidos.



7. Re: Problema com alias

edps
edps

(usa Slackware)

Enviado em 13/05/2016 - 21:53h

Adicione em seu ~/.bashrc ou ~/.zshrc isto:

alias rm='rm -vi'
alias rmf='rm -Rfvi'


Ao remover arquivos use o rm quando for diretórios use o rmf

Eu não uso nenhum dos dois, e sim instalo o pacote trash-cli para enviar para a lixeira, assim posso recuperar em caso de ter feito caca:

alias rm='trash-put -dfRv'
alias list-trash='trash-list'








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts