Como alias cp com cp -i por padrão

8

Existe uma boa maneira de alias ao comando cp file1 file2 to cp -i file1 file2 ?

Desculpas se essa é uma pergunta idiota, sou um novato em Unix.

    
por James Shapiro 07.06.2013 / 10:29

3 respostas

12

Você deve colocar um alias em seu script de inicialização:

alias cp='cp -i'

Você pode colocar isso diretamente em ~/.bashrc , mas eu tenho no meu ~/.bashrc :

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

e em ~/.bash_aliases tenho:

alias realias='source ~/.bash_aliases'
alias cp='cp -i'
alias rm='rm -i'

e quando eu adicionei / alterei coisas para esse arquivo eu faço realias (isso não remove aliases do shell em execução que você retirou, para esse uso unalias ).

Se você usar man bash e pesquisar aliases, não encontrará exemplos, mas:

For almost every purpose, aliases are superseded by shell functions
The ('bash') shell function alternative for the above alias is:

cp () { command cp -i "$@" ; }

as funções do shell são mais poderosas, mas para coisas simples onde os aliases são suficientes.
Eu ainda costumo usá-los.

    
por 07.06.2013 / 10:36
2

Se você estiver usando bash, as respostas de Anthon e michas funcionarão bem. No entanto, se você estiver usando csh ou tcsh, o comando para adicionar será

alias cp "cp -i"

e você adicionará no arquivo .cshrc .

    
por 07.06.2013 / 16:49
1
 alias cp="cp -i"

Coloque esta linha no seu script de inicialização do shell. (provavelmente ~ / .bashrc)

    
por 07.06.2013 / 10:37

Tags