Como faço para iniciar todas as sessões de shell em um diretório diferente de $ HOME?

47

Quando eu abro meu shell não-login no Ubuntu, meu diretório de trabalho atual é /home/user_name (my $HOME environment variable), mas eu quero mudar isso de tal forma que quando eu iniciar meu terminal eu estou em algum outro diretório .

Eu li que quando eu inicio meu terminal no Ubuntu, um arquivo .bashrc é originado. Então eu adicionei

export HOME=/home/user_name/Documents 

ao meu arquivo .bashrc . Agora, quando eu abro meu terminal eu ainda estou no diretório /home/user_name .

Como posso mudar isso?

    
por user3091069 03.07.2014 / 19:22

4 respostas

46

Primeiro, remova essa linha do seu .bashrc . A maneira de fazer isso não jogando com $HOME , essa variável sempre apontará para seu diretório home e você não quer mudar isso apenas para que seus shells iniciem em um lugar diferente.

Tenho certeza de que haverá uma maneira mais elegante de fazer isso, mas, como solução alternativa temporária, você pode simplesmente adicionar essa linha ao seu .bashrc :

cd ~/Documents 

Como esse arquivo é lido toda vez que você inicia um novo shell de não-login (abra um novo terminal), o comando cd será executado e seus terminais iniciarão em ~/Documents conforme desejado.

    
por 03.07.2014 / 19:26
20

O terminal será iniciado no diretório de trabalho que ele herda de seu pai.

No entanto, alguns permitem substituí-lo por meio das configurações.

Com gnome-terminal , você pode editar seu perfil, assinalar executar um comando personalizado em vez do meu shell e torná-lo:

sh -c 'cd ~/Documents; exec "${SHELL:-sh}"'
    
por 03.07.2014 / 23:07
0

Para aqueles que estão olhando para onde o arquivo .bashrc é, geralmente é um arquivo oculto no diretório inicial.

Para encontrar:

Abra o seu terminal e vá para o diretório inicial e, em seguida:

ls -al

para mostrar todos os arquivos ocultos. Agora você poderá ver seu arquivo .bashrc .

Para alterar o diretório padrão

  1. Abra o arquivo .bashrc no seu editor de texto, digitando o comando:

    gedit .bashrc
    
  2. Edite esse arquivo adicionando seu comando no passado, como:

    cd ~/YourDirectoryName
    
  3. Salve o arquivo e reinicie o terminal.

por 30.11.2016 / 11:55
0

Veja o que eu coloco no meu ~/.bash_profile :

alias curDir="pwd | sed -e 's/ /\ /'"
alias save='echo 'curDir' > ~/.saved_dir'
alias saved='cd 'cat ~/.saved_dir''
saved

e eu confio nisto o tempo todo. Basicamente, quando eu estou trabalhando em algum projeto, eu vou save um diretório principal para ele e então cada sessão subseqüente começa lá. Então, quando eu mudar de projeto ou qualquer outra coisa, eu vou apenas save em outro lugar.

Eu encontrei essa pergunta ao procurar uma maneira melhor, mas o que eu tenho é preferível a mim do que codificar um diretório em particular.

    
por 09.08.2018 / 14:06