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 GNU Discussion :

[sed] Afficher la branche git dans le prompt, impossible de supprimer l'espace au début de la chaine


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Juin 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 89
    Par défaut [sed] Afficher la branche git dans le prompt, impossible de supprimer l'espace au début de la chaine
    Bonjour,
    Je souhaite afficher la branche git dans le prompt, j'édite la variable PS1 dans le bashrc avec une fonction qui utilise sed.
    La commande en question est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/*\(.*\)/(\1)/'
    le problème c'est que cette commande ne retire pas l'espace situé avant le nom de la branche.
    En gros elle me retourne
    alors que je voudrais qu'elle me retourne
    Pour information, la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    git branch 2> /dev/null | sed -e '/^[^*]/d'
    me retourne
    J'ai essayé divers choses sur les RE, mais bon je vais pas rentrer dans le détail, je pense que quelque chose m'échappe.
    Merci!

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Bonjour,

    comment traduis-tu tes commandes sed ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PS1="($(git branch | sed 's/\* //'))"
    KISS!
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    bonjour

    pourquoi ne pas faire un simple git branch --show-current

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Juin 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 89
    Par défaut
    Citation Envoyé par papajoker Voir le message
    bonjour

    pourquoi ne pas faire un simple git branch --show-current
    Pourquoi faire simple quand on peut faire compliqué

    En fait je veux que le prompt ne soit pas modifié lorsque le terminal n'est pas dans un repo.

  5. #5
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par Toug19 Voir le message
    mais il manque les parenthèses.
    reste à savoir si on a toujours les parenthèses ou uniquement si on a un dépôt git ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    git branch --show-current 2>/dev/null | sed 's/.*/(&)/'
    EDIT:
    pour plus de clarté, je préfère créer des fonctions dans le .bashrc, exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    prompt_git() {
        echo -n git branch --show-current 2>/dev/null | sed 's/.*/(&)/'
    }
    prompt_heure() {
     declare h=($(date +%_I))
     declare hs='🕛🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛'
     echo -n "${hs:$h:1}"
    }
    PS1='\u@\h \$(prompt_git)  \$(prompt_heure) \W \$ '

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Juin 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 89
    Par défaut
    Merci ça marche parfaitement.

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    useless use of sed!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    prompt_git() {
        echo -n "($(git branch --show-current 2>/dev/null))"
    }
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    useless use of sed
    J'ai pas bien expliqué ? on ajoute les parenthèses uniquement si on est dans un repo
    ps: avec une fonction, ok, on peut très facilement s'en passer
    name=commande git
    [ ! -z $name ] && echo -n "($name)"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 16
    Dernier message: 30/12/2022, 18h57
  2. Afficher la valeur d'un GtkEntry dans le prompt
    Par motenai dans le forum GTK+ avec PHP
    Réponses: 2
    Dernier message: 11/07/2008, 14h07
  3. Afficher un varchar complet dans un input text
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 25/06/2004, 12h17
  4. Afficher une image stockée dans interbase
    Par NicolasR dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/06/2004, 10h00
  5. [VB.NET] afficher une image stockée dans une table
    Par matonfire dans le forum ASP.NET
    Réponses: 4
    Dernier message: 19/03/2004, 11h21

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