Criando uma variável para um diretório que persiste até a exclusão

1

Atualmente estou usando o bash no Ubuntu, e eu trabalho muito com um diretório salvo em / home / me / path / to / project_dir. É um incômodo para mudar para o diretório toda vez que eu abro bash. Então, eu gostaria de salvar o caminho para uma variável, digamos projdir , para que eu possa fazer apenas cd projdir . Se meu diretório de trabalho for alterado, devo poder alterar o caminho sobrescrevendo a variável. Eu quero ser capaz de atualizar a variável facilmente, de preferência com um comando, sem mexer com .bashrc.

Uma coisa importante é que essa variável deve persistir mesmo se eu reiniciar o bash. Como eu faço isso? Eu ainda gostaria de ver o meu diretório home quando eu iniciar o bash, então mudar o diretório inicial padrão para project_dir não é uma opção.

    
por cookiemonster 14.03.2013 / 05:46

3 respostas

1

Dê uma olhada no CDPATH em man bash , talvez isso já seja suficiente.

Caso contrário, defina algum alias em .bashrc. Eu sugeriria:

alias setp='pwd >~/.projectdir'
alias gop='cd $(cat ~/.projectdir)'
    
por 14.03.2013 / 06:58
0
echo 'PROJDIR="/home/me/path/to/project_dir"' > ~/.projdir
# put the next in e.g. .bashrc
projdir () {
  . ~/.projdir
  cd "$PROJDIR"
}
# change into directory simply by
projdir
# if dir changes just repeat
echo 'PROJDIR="/home/me/path/to/other_project_dir"' > ~/.projdir
# and instantly this works from all shells / consoles:
projdir
    
por 14.03.2013 / 06:03
0

Crie um link simbólico no seu diretório pessoal.

ln -s path/to/project_dir ~/p

Execute cd p para alternar para o diretório do projeto.

Isso é um pouco complicado, no entanto. Você pode executar um shell e alternar para os diretórios desejados, depois iniciar outros shells, executando xterm & disown (substitua xterm pelo emulador de terminal que preferir).

    
por 15.03.2013 / 00:34

Tags