Question Modifier l'invite


Ok, donc j'essaie de créer un alias, qui me permettrait de définir le répertoire actuel dans le terminal, le répertoire de base à afficher dans l'invite. Supposons que l'alias est nommé baseir

Par exemple:

andrepadez@theLookingGlass:~$ cd Shared  
andrepadez@theLookingGlass:~/Shared$ cd development/  
andrepadez@theLookingGlass:~/Shared/development$ cd nodejs/

en ce moment, je courrais cet alias et j'obtiendrais l'invite suivante:

andrepadez@theLookingGlass:~/Shared/development/nodejs$basedir
andrepadez@theLookingGlass:nodejs$

à partir de maintenant, chaque fois que je change de répertoire, je recevrais les invites suivantes:

andrepadez@theLookingGlass:nodejs$cd project1
andrepadez@theLookingGlass:nodejs/project1$cd static
andrepadez@theLookingGlass:nodejs/project1/static$cd ..
andrepadez@theLookingGlass:nodejs/project1$ ...

(Je me fiche vraiment de ce qui se passe si je retourne dans les dossiers situés derrière mon répertoire de base)

Est-il possible de créer une telle commande?
J'ai trouvé quelque chose de proche, mais il ne montre toujours que le répertoire actuel:

alias basedir="export PS1='\u@\h:\W$ '"

Merci


3
2017-11-22 18:16


origine




Réponses:


Dans votre répertoire personnel, il y a un fichier caché (commençant par.) Nommé .bashrc. Ce fichier est exécuté chaque fois que vous vous connectez et définit des éléments comme l'invite (variable d'environnement PS1), et aliases. le PS1 La variable est définie à plusieurs endroits, en fonction du type de terminal que vous utilisez - modifiez-les tous ou uniquement celui que vous utilisez. Le existant PS1 setup a plusieurs codes qui se développent dans des choses comme le chemin de répertoire de travail actuel (le \w). Modifier le .bashrc fichier (vous en êtes propriétaire, donc pas de sudo nécessaire). Changer la \w partout où le `PS1 étant mis à:

${PWD#$BASE}  

Pour définir l'alias BASE, vous pouvez l'ajouter à la section # some more ls aliases dans le .bashrc fichier. Sa valeur est juste la valeur de la PWD variable, donc

export BASE="$PWD"  

(Les guillemets traiteraient les bizarreries comme les espaces dans les noms de répertoires).


4
2017-11-22 20:18



Je suis désolé, je suis un n00b dans linux bash. Pouvez-vous s'il vous plaît être plus précis sur les étapes à suivre? Merci - André Alçada Padez
@ AndréAlçadaPadez Au cas où vous ne l'auriez pas déjà résolu: pouvez-vous être plus précis sur ce que vous ne compreniez pas ou que vous ne pouviez pas faire? La réponse d'ubfan1 me semble assez complète. - isomorphismes