Como posso usar um “alias” para o diretório de destino ao copiar?

4

Eu freqüentemente edito arquivos de inicialização, como o meu arquivo .bashrc
Em seguida, copio-os para outra direção, como ~/Dropnot/level1/setups/bash1

Existe alguma maneira que eu possa cp desses arquivos para o local acima com algo como um alias?
Eu tenho atualmente um alias para cd para ele com alias n='cd ~/Dropnot/level1/setups/bash1'

Eu gostaria de algo que pudesse lidar com qualquer arquivo que eu passe para ele.

    
por Michael Durrant 20.04.2014 / 12:04

3 respostas

5

Ah sim, você pode!

  1. Abra o arquivo ~/.bash_aliases e digite o seguinte no final do arquivo (crie um novo ~/.bash_aliases , se ele não existir):

    alias mycp='cp ~/.bashrc ~/Dropnot/level1/setups/bash1'
    

    Isso criará um alias mycp (você pode fornecer um nome diferente para mycp ), que copiará seu arquivo ~/.bashrc para o local desejado.

  2. Você pode criar uma variável de shell que contenha o caminho longo e, em seguida, use a variável no lugar do caminho longo. Por exemplo, no seu ~/.bashrc :

    export fav_path=/usr/share/help/nl/gnome-help/figures/
    

    e source ~/.bashrc e, em seguida, use

    cp ~/.bashrc "$fav_path"
    

Lembre-se de usar o " para caminhos que contenham espaços.

    
por 20.04.2014 / 12:08
2

Se você tem o GNU cp (no Linux a resposta é provavelmente sim), você pode usar a opção -t :

alias fcp="cp -t ~/Dropnot/level1/setups/bash1"

Fazer fcp somefile sempre colocará o arquivo no diretório ~/Dropnot/level1/setups/bash1 . Vários argumentos funcionarão também (por exemplo, fcp somefile otherfile1 irá para ~/Dropnot/level1/setups/bash1 )

Se o GNU cp não estiver disponível, você sempre poderá usar uma função:

fcp () {
  cp "$@" ~/Dropnot/level1/setups/bash1
}
    
por 20.04.2014 / 15:52
0

Você quer dizer algo assim:

alias c='cp ~/.bashrc ~/Dropnot/level1/setups/bash1'

Sugiro, em vez disso, que mova o arquivo para lá e use um link simbólico para evitar a cópia:

mv ~/.bashrc ~/Dropnot/level1/setups/bash1/
ln -s ~/Dropnot/level1/setups/bash1/ ~/.bashrc

Eu tenho usado isso para meus dotfiles por anos, e tem sido muito útil em manter um backup.

    
por 20.04.2014 / 12:08

Tags