2011-11-10 4 views
3

Lorsque je redirige l'écho vers le client redis, j'obtiens une erreur.Données de tuyau à redis

[[email protected] ~]$ echo "abc43345" | redis-cli set my_passwd2 
(error) ERR wrong number of arguments for 'set' command 

Mais ce qui suit fonctionne comme prévu.

[[email protected] ~]$ redis-cli set my_passwd2 `echo "abc43345"` 
OK 

Est-il possible de faire fonctionner le premier exemple?

+1

'Redis-cli' attend un argument sur la ligne de commande, pas' stdin'. La façon de le faire avec beaucoup d'autres applications de ligne de commande est de spécifier un tiret «-», signifiant que ce paramètre de ligne de commande doit être lu depuis «stdin». Je ne sais pas si 'redis-cli' le supporte, et ne l'ai pas installé maintenant pour vérifier. –

Répondre

8

Il peut effectivement être réalisé en utilisant le drapeau "-x"

echo "abc43345" | redis-cli -x set my_passwd2

+0

redis-cli --pipe est également une option. Voir: http://redis.io/topics/mass-insert – Homer6