Lua读取只读文件。

这个问题不是关于读取 lua 文件,而是关于在 lua 中读取只读的、不可执行的文件。我有一个以下文件:

10 awesome % ls -l /sys/class/backlight/intel_backlight/actual_brightness
-r--r--r-- 1 root root 4096 Dec 28 20:17 /sys/class/backlight/intel_backlight/actual_brightness

但当我尝试在 lua 中读取它时,会出现权限被拒绝的错误。请问有人能解释一下为什么吗?我该如何在不改变其权限的情况下读取该文件?

file = io.popen('/sys/class/backlight/intel_backlight/actual_brightness', 'r')
output = file:read('*all')
file:close()

错误信息如下(连同在 lua shell 中键入的代码):

12 awesome % lua
Lua 5.2.1  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> file = assert(io.popen('/sys/class/backlight/intel_backlight/actual_brightness', 'r'))
> sh: /sys/class/backlight/intel_backlight/actual_brightness: Permission denied
^C
点赞
用户1885105
用户1885105

如果你打算将其作为文本文件进行阅读,请使用io.open而不是io.popen

2012-12-28 18:39:25