ubuntu中的权限被拒绝

时间:2014-02-03 10:10:54

标签: linux ubuntu lua

我有以下Lua代码:

local f = io.popen("/home/mohammad/LUA", "r")
if f then
    print(f:read("*a"))
else
    print("failed to read")
end

当我在Ubuntu中执行它时,我收到一个错误:

mohammad@ubuntu:~$ lua LUA/project.lua
sh: 1: /home/mohammad/LUA: Permission denied

这是文件权限:

-rwxrwxrwx 1 mohammad mohammad 1185 Feb  3 01:56 LUA/project.lua*

有什么问题?我该如何解决?

1 个答案:

答案 0 :(得分:3)

你在做什么

lua LUA/project.lua

如果project.lua位于/home/mohammad/LUA,则

io.popen("/home/mohammad/LUA", "r")

您正在尝试 popen (管道打开)该文件夹。但是Lua ref manual中的popen文档说

  

在分离的进程中启动程序prog并返回文件句柄   您可以用来从该程序中读取数据

文件夹不是进程,因此无法使用。

如果您打算使用io.open,如果文件夹存在,则调用将成功,并且Linux上的返回将为非零(Why is this lua script unable to open a Windows subdirectory?中的Linux与Windows之间存在一些差异)。