Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1549 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  [Zsh] Resolu : Pb d'affectation de variable avec precmd()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Zsh] Resolu : Pb d'affectation de variable avec precmd()

n°501994
serialclea​ner
Posté le 11-06-2004 à 17:15:35  profilanswer
 

Appel à tous les geeks zsh.
 
Voici le problème :
J'ai mis dans mon prompt.rc ceci :

_push-todo (){
    print $* >> .zsh-todo
}
                                                                                 
_print-first-todo (){
    head -1 .zsh-todo 2> /dev/null
}
                                                                                 
_pop-todo (){
        cat .zsh-todo | tail +2 > .zsh-todo
}
                                                                                 
precmd () {
        if [ "$(_print-first-todo)" != "" ]
        then
                print TODO \: $(_print-first-todo)
        fi
#       print $(_print-first-todo)
#       todo=$(_print-first-todo);
}


ce qui m'affiche une invite de ce type :

TODO : Pb Turba MobilePhone
serial@achsx067 /home/serial
[0] $


Or j'aimerai pouvoir l'avoir dans l'invite, comme ceci par exemple :


serial@achsx067 /home/serial >>TODO : Pb Turba MobilePhone
[0] $


Pour cela il faudrait que je passe par l'affectation d'une variable, or elle n'est pas mis à jour à chaque affichage de l'invite mais seulement quand je fais un ". ~/.zsh/rc/prompt.rc".
 
Un grand merci à celui qui peut me donner une solution.


Message édité par serialcleaner le 14-06-2004 à 18:08:13

---------------
Un bon script vaut tous les clicks du monde. | Errements Alternatifs
mood
Publicité
Posté le 11-06-2004 à 17:15:35  profilanswer
 

n°503512
serialclea​ner
Posté le 14-06-2004 à 12:19:15  profilanswer
 

:bounce:
 
Pas de geek ?
J'y crois pas ;)


Message édité par serialcleaner le 14-06-2004 à 12:19:39

---------------
Un bon script vaut tous les clicks du monde. | Errements Alternatifs
n°503757
serialclea​ner
Posté le 14-06-2004 à 17:51:07  profilanswer
 

Résolu.
Un petit tour sur http://www.zsh.org/mla/users/2004/msg00531.html et la solution est apparue.
 

precmd () {
        if [ "$(_print-first-todo)" != "" ]
        then
                #print TODO \: $(_print-first-todo)
                todo=">> $(_print-first-todo)"
        else
                todo=""
        fi
#       print $(_print-first-todo)
#       todo=$(_print-first-todo)
if [[ $TERM == "xterm" ]]; then
        PS1="$host $cpath $todo
[%j] $end"
#       export RPS1=$' %{\e[48;5;233m%} %{\e[48;5;234m%} %{\e[48;5;235m%} %{\e[48;5;236m%} %{\e[48;5;237m%} %{\e[48;5;238m%} %{\e[48;5;239m%} %{\e[48;5;240m%} %{\e[48;5;241m%} %{\e[48;5;242m%} %{\e[48;5;243m%} %{\e[48;5;244m%} %{\e[48;5;245m%} %{\e[48;5;246m%} %{\e[48;5;247m%} %{\e[48;5;248m%} %{\e[48;5;249m%} %{\e[48;5;250m%} %{\e[48;5;251m%} %{\e[48;5;252m%} %{\e[38;5;232m%}%D{%H:%M} %{\e[0m%}'
        export RPS1=$'%D{%H:%M}'
else
        PS1="$date $host $cpath
$end"
fi
}


 
Il fallait redéfinir le prompt dans la precmd ;)


Message édité par serialcleaner le 14-06-2004 à 17:51:40

---------------
Un bon script vaut tous les clicks du monde. | Errements Alternatifs

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  [Zsh] Resolu : Pb d'affectation de variable avec precmd()

 

Sujets relatifs
[Résolu]Vérifier CDemacs et la touche meta [resolu]
[Résolu]Port linux[résolu] Pbl serveur DHCP sous RH9
[BASH] Portée d'une variable[Résolu]MDK 10.0 CD4
[Résolu] - Partager une imprimante[Résolu]Encore un problème de son
rsync [resolu] nouveau probleme avec cron[resolu] nfs à travers un firewall (pf -openbsd)
Plus de sujets relatifs à : [Zsh] Resolu : Pb d'affectation de variable avec precmd()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR