La commande ">" qui foire

Bonjour,

J’ai un petit souci qui commence sérieursement à me souler la.
Donc aujourd’hui je décide de me faire un petit script qui va faire différentes action en fonction de l’état de quodlibet.

Je commence donc logiquement par un quodlibet --status > ~/scripts/tmp_quod, mais c’est la que le bat blesse.
quodlibet --status renvoie des trucs du genre

laurent@imrryr ~ $ quodlibet --status not-running laurent@imrryr ~ $ quodlibet --status playing AlbumList 0.950 Weighted off 0.405

Sauf que dans le cas “not-running”, ben la sortie n’est pas redirigée vers ~/scripts/tmp_quod. La preuve, le not-running s’affiche dans le terminal, alors qu’il ne devrait pas :

[code]laurent@imrryr ~ % quodlibet --status > ~/scripts/tmp_quod
laurent@imrryr ~ % cat ~/scripts/tmp_quod
paused AlbumList 0.950 Weighted off 0.682

laurent@imrryr ~ % quodlibet --status > ~/scripts/tmp_quod
not-running
laurent@imrryr ~ % cat ~/scripts/tmp_quod
laurent@imrryr ~ %[/code]

Bon pratiquement parlant, je peux passer outre et faire mon test sur le fait que ~/scripts/tmp_quod soit vide ou non, mais j’aimerais bien savoir pourquoi ça foire.

Merci

Peut-être parce que quodlibet envoie le texte “not-running” non pas sur la sortie standard mais sur la sortie d’erreur, qui est redirigée par 2>.

Bingo ! Je pensais naivement que > redirigeait stdout et stderr. Pour ceux qui tomberait sur ce post, tuteurs.ens.fr/unix/shell/en … .html#s1_2

Merci !

Et la coche verte ?

Moi qui pensait naivement que la coche verte se mettait automatiquement (je suis déja dehors :mrgreen: )

On va finir par le croire :wink: !