web-dev-qa-db-fra.com

Comment démarrer toutes les sessions Shell dans un répertoire autre que $ HOME?

Lorsque j'ouvre mon shell sans connexion dans Ubuntu, mon répertoire de travail actuel est /home/user_name (mon $HOME variable d'environnement), mais je veux changer cela de telle sorte que lorsque je démarre mon terminal, je suis dans un autre répertoire.

J'ai lu que lorsque je démarre mon terminal dans Ubuntu, un .bashrc le fichier provient. J'ai donc ajouté

export HOME=/home/user_name/Documents 

à mon .bashrc fichier. Maintenant, quand j'ouvre mon terminal, je suis toujours dans /home/user_name répertoire.

Comment puis-je changer cela?

56
user3091069

Tout d'abord, supprimez cette ligne de votre .bashrc. La façon de le faire en ne jouant pas avec $HOME, cette variable pointera toujours vers votre répertoire personnel et vous ne voulez pas changer cela juste pour que vos shells commencent à un endroit différent.

Je suis sûr qu'il y aura une façon plus élégante de le faire, mais comme solution de contournement temporaire, vous pouvez simplement ajouter cette ligne à votre .bashrc:

cd ~/Documents 

Puisque ce fichier est lu à chaque fois que vous démarrez un nouveau Shell sans connexion (ouvrez un nouveau terminal), la commande cd sera exécutée et vos terminaux démarreront à ~/Documents comme vous le désirez.

55
terdon

Le terminal démarrera dans le répertoire de travail qu'il hérite de son parent.

Cependant, certains permettent de le remplacer via les paramètres de configuration.

Avec gnome-terminal, vous pouvez modifier votre profil, cochez exécutez une commande personnalisée au lieu de mon Shell et faites-le:

sh -c 'cd ~/Documents; exec "${Shell:-sh}"'
24
Stéphane Chazelas

Pour ceux qui cherchent où le .bashrc le fichier est, généralement c'est un fichier caché dans le répertoire personnel.

Pour le trouver:

Ouvrez votre terminal et accédez au répertoire personnel, puis:

ls -al

pour afficher tous les fichiers cachés. Vous pourrez maintenant voir votre .bashrc fichier.

Afin de changer le répertoire par défaut

  1. Ouvert .bashrc fichier dans votre éditeur de texte en entrant la commande:

    gedit .bashrc
    
  2. Modifiez ce fichier en ajoutant votre commande en dernier, comme:

    cd ~/YourDirectoryName
    
  3. Enregistrez le fichier et redémarrez le terminal.

1
Shivam

Voici ce que je mets dans mon ~/.bash_profile:

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

et je compte tout le temps dessus. Fondamentalement, lorsque je travaille sur un projet, je vais save un répertoire principal pour lui, puis chaque session suivante commence là-bas. Ensuite, lorsque je change de projet ou autre, je vais simplement save ailleurs.

J'ai trouvé cette question en cherchant un meilleur moyen, mais ce que j'ai est préférable à moi que de coder en dur un répertoire particulier.

1
amos