即时尝试将变量中的消息内容发送到sh脚本,触发此操作我用“test”一词启动电报消息
我在我的lua脚本中有这个,我在我的odroid上运行电报
-- TEST:
action, variable=msg.text:match("+ %b %s")
if (action=='test' or action=='Test') then
os.execute(string.format("/home/scripts/test.sh \"%s\" &",variable))
如果我发送:“测试我想在变量中的这个文本”通过电报到odroid,它什么都不做。我已经尝试了很多变种(“+%b%s”)然而它不知道我做错了什么?
PS。触发词“test”不得保存到变量中
将字符串作为命令行参数传递的标准方法如下:
variable = msg.text:match"^[Tt]est%s*(.*)$"
if variable then
os.execute("/home/scripts/test.sh '"..variable:gsub("'", "'\\''").."'&")
end
test.sh
如何处理字符串?可能存在消失空间的问题。