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

 


Dernière réponse
Sujet : [Zsh] Resolu : Pb d'affectation de variable avec precmd()
serialcleaner 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 ;)


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
serialcleaner 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 ;)

serialcleaner :bounce:
 
Pas de geek ?
J'y crois pas ;)
serialcleaner 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.


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)