Prompt linux

Fermé
johan24 -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour,
Je voudrais personnaliser mon prompt et mettre le chemin complet, mais quand je suis dans mon répertoire il m'affiche ça: ~
Merci de m'éclairer
Configuration: amd-2 500
mandrake 9.2

7 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Il faut que tu édites ta variable "PS1".
    Extrait du man bash:
    SYMBOLE D'ACCUEIL (PROMPT)
           Quand il est exécuté de manière interactive, bash  affiche  le  symbole
           d'accueil  principal  PS1 dès qu'il est prêt à lire une commande, et le
           symbole d'accueil secondaire PS2 quand il a besoin de plus  de  données
           pour  exécuter  une commande.  Bash permet de personnaliser ces chaînes
           d'accueil, avec des séquences d'échappement  ayant  les  significations
           suivantes :
                  \a     le caractère d'alarme ASCII 07
                  \d     la date au format "Jour_de_la_semaine Mois Quantième" (ex
                         : "Tue May 26")
                  \e     le caractère d'échappement ASCII 033
                  \h     le nom d'hôte de la machine, juqu'au premier point `.'
                  \H     le nom d'hôte complet de la machine
                  \n     un saut de ligne
                  \r     un retour-chariot
                  \s     le nom du shell, c'est à dire le nom de base  de  $0  (la
                         portion suivant le dernier slash)
                  \t     l'heure actuelle au format HH:MM:SS sur 24 heures
                  \T     l'heure actuelle au format HH:MM:SS sur 12 heures
                  \@     l'heure actuelle sur 12 heures au format HH:MM am/pm
                  \u     le nom de l'utilisateur
                  \v     la version de bash (par exemple 2.04)
                  \V     le numéro de version complet de bash par exemple (2.04.0)
                  \w     le répertoire de travail en cours
                  \W     le nom de base du répertoire de travail en cours
                  \!     le numéro d'historique de la commande
                  \#     le numéro de la commande
                  \$     # si l'UID effectif est 0, $ sinon
                  \nnn   le caractère de code octal nnn
                  \\     le caractère antislash
                  \[     débute une série de caractères non-imprimables, qui  per-
                         mettent  d'inclure  des séquences de contrôle de terminal
                         dans une chaîne d'accueil
                  \]     fin d'une série de caractères non-imprimables
    ;-))

    Z'@+...che.
    JP : Zen, my Nuggets ! ;-)
    Avec Linux vous avez un noyau, avec Windows des pépins. ;-)) 
    4
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Je crois que johan24 refuse de faire ce qu'on lui dit :)
    (mando@cenedra) (~) $ export PS1="(\u@\h) ($PWD) \$"
    (mando@cenedra) (/home/mando) $

    Libre à toi ensuite de rajouter cette commande dans ton fichier ~/.bashrc pour qu'elle se lance dès que tu lances un bash.

    A noter que chez moi :
    \w donne le répertoire avec ~ si on est dans son home
    \W donne le répertoire courant (mais pas ses parents)

    Bonne chance
    4
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Re-

    Que te renvoie la commande :
     echo $PS1
    Voilà ce qu'elle me renvoie :
    [jp@Mandrake jp]$ echo $PS1 
    [\u@\h \W]\$
    [jp@Mandrake jp]$
    Et on peut voir notamment le "W" qui me retourne "le nom de base du répertoire de travail en cours". Dans ton cas comme te l'a mentionné " bengentoohit", remplace le "W" par un "w" et tout devrait rouler...

    ;-))

    Z'@+...che.
    JP : Zen, my Nuggets ! ;-)
     Avec Linux vous avez un noyau, avec Windows des pépins. ;-))
    3
  4. Phiphi
     
    Salut,

    quel shell utilises tu? (bash, zsh, ...)

    il faut rajouter le chemin dans le prompt à cet endroit

    (repertoire courant : '%~' par ex sous zsh )

    par contre, c'est vrai que si tu es logué en tant que toto, qd tu es dans /home/toto, il t'affichera ~ , par contre si tu changes d'utilisateur, tu verras /home/toto...

    Phiphi
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. johan24
     
    C'est le bash. ce n'est pas possible de remplacer le ~?
    0
    1. Phiphi
       
      Avec linux, TOUT est possible... ;-)

      mais là je sais pas faire...

      une méthode un peu sale serait sans doute de lui faire remplacer "a la main", du genre avec une boucle if du style

      if user=moi, alors si je suis dans /home/moi, tu ecris /home/moi

      mais ca me parait un peu (beaucoup...) bourrin...

      En tout cas bon courage, et si jamais tu trouves ailleurs, hesite pas a donner aussi la réponse ici...
      (il y a qques pages sur le web ou les gars fournissent des fichier .bashrc pour des prompts de folie ;-) )

      Phiphi
      0
    2. bengentoohit Messages postés 36 Statut Membre 2
       
      il faut chercher une ligne contenant PS1= dans le fichier /etc/profile ou /etc/bash.bashrc

      et remplacer \w par \W...
      0
    3. johan24 > bengentoohit Messages postés 36 Statut Membre
       
      Je voudrais le chemin complet (/home/nom)
      0
    4. bengentoohit Messages postés 36 Statut Membre 2 > johan24
       
      tu as essayé de faire les manip ci-dessus ?
      0
    5. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > johan24
       
      Ben y'à qu'à lire ce qui est marqué au-dessus !!!
      Et puis lis ça aussi, ça te fera le plus grand bien :
      http://www.commentcamarche.net/ccmguide/ccmcharte.php3

      ;-))

      Z'@+...che.
      JP : Zen, my Nuggets ! ;-)
       Dans la vie on est toujours pauvre de savoir.
      0