【发布时间】:2021-05-30 06:00:44
【问题描述】:
我正在尝试从 lua 脚本执行命令。该命令是简单地运行一个名为“sha_compare.py”的python脚本,其中接收3个参数,其中两个是来自lua脚本的变量 - dady_data和sha:
local method = ngx.var.request_method
local headers = ngx.req.get_headers()
if method == "POST" then
ngx.req.read_body()
local body_data = ngx.req.get_body_data()
local sha = headers['X-Hub-Signature-256']
ngx.print(os.execute("python3 sha_compare.py"..sha..body_data))
else
由于我调用参数的方式,脚本失败了。如果我从 cmd 运行它,实际的命令应该是这样的:
python3 python3 sha_compare.py sha256=ffs8df aaaaa
请告诉我应该如何更改我的代码以正确调用具有 3 个变量的 python 脚本。
如果不可能或难以实现,请告诉我如何调用 .sh 脚本来接收这 3 个参数。
【问题讨论】:
-
body_data里面有什么?它是否包含对 shell 来说“神奇”的字符?