Erreur de syntax [PROMPT] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 26-09-2008 à 12:47:12
Je te dis qu'il est vide. Comme il est en dehors des simple quotes, il est interprété au moment où tu définis PROMPT_COMMAND, pas au moment où PROMPT_COMMAND est interprété... Par contre tu définis H1 entre les guillemets, donc l'affectation est faite quand PROMPT_COMMAND est interprété, pas quand il est défini.
Autrement dit, ton PROMPT_COMMAND vaut ça :
H=`history 1` ; H1=${H:0:6} ; [ -eq 0 ] || echo `date +"hhhhh%F %T"` "$USER" "${H:6}" >> /var/log/bash_logs ; H2=$H1 |
Ce qui n'est évidemment pas correct.
Donc enlève ces simple quotes autour de $H1 et de $H2, et ça devrait marcher.
Ah et aussi, c'est quoi ce back-quote à la fin de ta ligne ? Ca devrait être un simple quote.
Marsh Posté le 06-11-2008 à 21:54:43
Si tu es en bash, ya des variable qui se reglent pour eviter les doublons et pour ajouter la date.
Pas besoin de code gruik
Je te propose dans ~.bashrc :
Code :
|
'
Ce qui donne :
Code :
|
Marsh Posté le 08-11-2008 à 00:00:34
Oui mais la version de bash que j'ai ne permet pas d'utiliser ces options.
Marsh Posté le 25-09-2008 à 09:03:52
Bonjour,
Depuis que j'ai modifié mon prompt afin d'avoir les logs d'history timestampé, j'ai un message d'erreur bash à chaque commande que je tape :
-bash: [: -eq: unary operator expected
Dans mon /etc/bashrc :
H2=0
export PROMPT_COMMAND='H=`history 1` ; H1=${H:0:6} ; [ '$H1' -eq '$H2' ] || echo `date +"%F %T"` "$USER" "${H:6}" >> /var/log/bash_logs ; H2=$H1`
Je pense que cela vient du faite que j'ai un chiffre dans mon prompt :
[root@mail2 root]
Car sur un autre serveur ou j'ai fais la même config, et ou il n'y a pas de chiffre dans mon prompt, je n'ai pas ce problème.
Savez-vous comment je peux modifier mon PROMPT_COMMAND afin de régler ce problème.
Merci
Cordialement,
Message édité par hpoz le 25-09-2008 à 10:45:49