首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在.lua上没有执行Bash脚本,退出状态7 (Arg列表太长)

在.lua上没有执行Bash脚本,退出状态7 (Arg列表太长)
EN

Stack Overflow用户
提问于 2019-05-07 15:17:57
回答 1查看 2.5K关注 0票数 2

.lua文件正在执行,因为我在日志中看到了来自m.log()的字符串,但是bash代码没有被执行。为什么?我漏掉了什么?此外,在os.execute()中的命令日志中也没有错误。

代码语言:javascript
复制
#!/usr/bin/lua

function main()
m.log(1,"Starting script execution \n")
os.execute ("route add xx.xxx.xxx.xxx reject")
## i also tried os.execute ("/path/to/file.sh") and giving permision to execute with chmod +x filename.sh
m.log(1,"Script execution finished\n")
end

注意:我在命令提示符中直接执行了来自os.execute()的命令,IP被添加到route中,所以我的lua代码有问题.

我将权限从文件夹/文件中更改为777,该文件夹/文件只用于测试.lua.sh文件是否是permision问题,没有什么改变,我还试图更改所有者和用户组。

编辑- - --这个波纹管不能工作,因为它在/root/文件夹上,所以我需要把它移到/var/www/

代码语言:javascript
复制
os.execute ("/path/to/file.sh")

但是bash代码没有被执行,os.execute返回退出状态7 (Arg列表太长),我搜索了它,我意识到这是因为整个bash代码在引号内执行:为什么我在传递引用的参数时得到"/bin/sh:参数列表太长“?

我怎么才能修好它?

EN

回答 1

Stack Overflow用户

发布于 2019-05-07 15:32:31

您应该检查os.execute的结果,因为它将命令的退出状态作为结果之一返回。

您还可以使用io.popen运行脚本并检查生成的输出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56025771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档