我有" Hello World"程序在Lua脚本中。 我试图从(Chocolatey)Redis客户端调用脚本。 我一直收到这个错误 (错误)ERR错误编译脚本(新函数):user_script:1:函数参数预期在'附近。'
Redis脚本:" hello.lua"
local msg = "Hello, world!"
return msg
Chocolatey Redis客户:
127.0.0.1:6379> EVAL "D:\hello.lua" 0
错误消息
(error) ERR Error compiling script (new function): user_script:1: function argument expected near '.'
答案 0 :(得分:4)
EVAL
接受脚本本身,而不是文件名。
试试这个:
EVAL 'local msg = "Hello, world!" return msg' 0
编辑:要在文件中执行脚本,redis-cli
提供您可以使用的--eval
开关,如下所示:
redis-cli --eval <path-to-script-file> [key1 [key2] ...] , [arg1 [arg2] ...]
我不熟悉Windows分支,但它也应该得到它的支持。
在* nix中,您还可以使用shell向cli提供脚本内容,例如:
redis-cli SCRIPT LOAD "$(cat path-to-script-file)"
会将文件中的内容加载到Redis。应该有类似的方法在Windows中实现这一点,但这超出了我目前的范围;)