在 Lua 程序中运行 Linux 命令

我想要使用 Lua 重置 openwrt 的一个 Linux 服务。当我直接在 Linux 中使用以下命令时,它能正常工作:

$ service

它显示以下服务: enter image description here 当我输入以下命令时,它会显示更多选项:

$ service led

enter image description here 最后,当我输入以下命令时,它会重置服务:

$ service led restart

但是用 Lua 的以下程序,我得到了错误:

>os.execute("service led restart")
sh: service: not found

有没有其他库或命令来访问服务?

原文链接 https://stackoverflow.com/questions/71282700

点赞
stackoverflow用户1847592
stackoverflow用户1847592

command -V service 显示:

service 是一个函数

要在 os.execute 创建的子shell中调用它,你必须 source 创建该函数的脚本。(我不知道这个函数是在哪里定义的)。

更简单的方法是调用特定的服务可执行文件:

os.execute"/etc/init.d/led restart"
2022-02-27 07:58:39