IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

changement PS1 suivant le shell choisi


Sujet :

Shell et commandes POSIX

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur Systèmes
    Inscrit en
    Août 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Monaco

    Informations professionnelles :
    Activité : Ingénieur Systèmes
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 75
    Par défaut changement PS1 suivant le shell choisi
    Bonjour,

    J'ai un petit soucis lorsque je défini un prompt perso.

    exemple :

    j'ai mon prompt changé (je suis en BASH), donc la variable PS1 changée dans mon .bash_profile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    SunOS 5.10 Generic_139555-08 - "6.0"
     
    08:32:09 root@sm1p0007 ~:
    08:32:09 root@sm1p0007 ~: echo $PS1
    \t \[\033[0;31m\]\u\[\033[1;37m\]@\h \w:\033[1;37m\] \033[0;37m\]
    08:32:41 root@sm1p0007 ~:
    08:32:45 root@sm1p0007 ~: ksh
    t [033[0;31m]u[033[1;37m]@h w:033[1;37m] 033[0;37m]
    t [033[0;31m]u[033[1;37m]@h w:033[1;37m] 033[0;37m]
    t [033[0;31m]u[033[1;37m]@h w:033[1;37m] 033[0;37m]^D
    08:32:51 root@sm1p0007 ~:
    08:32:51 root@sm1p0007 ~: csh
    sm1p0007.mon.wm.ubs.net#
    sm1p0007.mon.wm.ubs.net#
    sm1p0007.mon.wm.ubs.net# 08:32:55 root@sm1p0007 ~:
    08:32:55 root@sm1p0007 ~:
    08:32:56 root@sm1p0007 ~: zsh
    \t \[\033[0;31m\]\u\[\033[1;37m\]@\h \w:\033[1;37m\] \033[0;37m\]
    \t \[\033[0;31m\]\u\[\033[1;37m\]@\h \w:\033[1;37m\] \033[0;37m\]
    \t \[\033[0;31m\]\u\[\033[1;37m\]@\h \w:\033[1;37m\] \033[0;37m\]
    08:32:59 root@sm1p0007 ~:
    08:33:00 root@sm1p0007 ~:
    mais le soucis comme vous pouvez le voir, est que si je change de shell, ça me pourrit le prompt (sauf en csh et tcsh je crois)

    y-a-t'il un moyen d'éviter ça ? et/ou de contrôler le shell sur lequel je suis pour changer la variable PS1 ? (la variable d'environnement $SHELL ne change pas quand je change de shell, donc je ne peux pas faire de contrôle dessus). je précise que je bosse sur Solaris, mais j'avais déjà eu le même soucis sous Linux.

    merci d'avance

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    il suffit de charger les fichiers de configuration des shell de l'utilisateur pour chaque shell qu'il utilise

    remplacer la commande csh par csh.original et créer un lien csh qui charge le profil apres avoir lancer le csh et ainsi de suite pour chaque shell

  3. #3
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Tu as un bash_profile, qui est donc charge par bash mais pas par les autres shells.

    Chaque shell a son fichier de configuration, dans lequel tu peux definir la variable PS1.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur Systèmes
    Inscrit en
    Août 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Monaco

    Informations professionnelles :
    Activité : Ingénieur Systèmes
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 75
    Par défaut
    merci oui je savais ça.

    ce que je n'avais pas remarqué, c'est que sans les .kshrc, .zshrc etc.. les zsh/ksh et autres shells me prenaient en compte la variable de mon bashrc/profile.. c'est curieux

    j'ai crée un .kshrc / .zshrc vides, et maintenant ça fonctionne, merci pour le tuyau.

  5. #5
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Si certains shell utilisent le même fichier, tu peux toujours positionner PS1 dans ce fichier en fonction de la valeur de $SHELL.

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/05/2014, 09h04
  2. [AC-2010] Aller au suivant à partir enregistrement choisi dans liste
    Par titi95 dans le forum IHM
    Réponses: 4
    Dernier message: 26/01/2014, 17h47
  3. Réponses: 2
    Dernier message: 02/02/2011, 11h11
  4. Réponses: 7
    Dernier message: 02/11/2008, 18h02
  5. changement image suivant clic
    Par chartoire dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/11/2007, 21h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo