Existe um atalho melhor (mais próximo da linha inicial no teclado) para o diretório inicial no bash than til?

0

Eu não gosto de pegar a chave til ~ tantas vezes quando estou especificando caminhos de arquivos e programas relativos ao diretório home do usuário na linha de comando. Alguém tem alguma dica para diminuir o número de toques no teclado?

    
por dan 15.04.2011 / 16:58

1 resposta

3

Você não pode eliminar ~ completamente, mas pelo menos há algumas soluções alternativas disponíveis.

Essas alternativas nem sempre podem ser usadas, mas, em outros casos, podem ser realmente úteis:

  • Antes de executar o comando, altere seu diretório usando cd (sem argumentos). Isso altera seu diretório de trabalho para ~ .
  • Se você precisar alterar com freqüência o diretório de trabalho para uma pasta dentro de sua pasta pessoal, use a variável CDPATH no bash. Execute o próximo comando para minimizar cd ~/folder para cd folder , mas ainda permitir a alteração para um diretório folder no diretório atual, se existir.

    CDPATH=.:~
    

    Para tornar essa alteração persistente, adicione a linha a ~/.bashrc . Como seu nome pode sugerir, ele só funciona para o comando cd no bash.

  • Use a variável $HOME se realmente quiser evitar ~ , no caso de a chave causar um choque elétrico, por exemplo. Isso é especialmente útil em casos em que a expansão de til não ocorre, entre aspas, por exemplo ( "~" )
  • Crie uma função para um comando. Se você freqüentemente precisa copiar arquivos para um diretório em seu diretório home como em cp file ~/archive , você pode executar o próximo código para criar uma função:

    cph(){ cp "$1" "$HOME/$2";}
    

    e use-o como:

    cph file archive
    

    Note que você não pode passar argumentos ou múltiplos arquivos para esta função, que precisa de ajustes adicionais. Assim como no CDPATH hack, você pode colocá-lo no arquivo ~/.bashrc para torná-lo persistente.

por Lekensteyn 15.04.2011 / 17:43