【问题标题】:Resolving symlinks in lua解析lua中的符号链接
【发布时间】:2020-09-07 18:33:26
【问题描述】:

我尝试了谷歌搜索,但我发现只有额外的包处理这个(出于各种原因我想避免)。

在 Lua5.3 中,是否有某种方法可以仅使用标准库来解析符号链接,可能是递归的?

我正在寻找等同于:

lua -lfs -e 'print(fs.realink("/proc/self/exe"))'

...只是我的目标上没有“fs”(和必需的“路径”)。

有什么方法可以在纯 lua 中仅使用标准库来实现这一点?

【问题讨论】:

  • path = io.popen('readlink "'..your_link..'"'):read()
  • @EgorSkriptunoff:这行得通。如果你把它作为一个答案,我会接受它。谢谢。

标签: lua symlink symlink-traversal


【解决方案1】:

在 Lua 5.3 中我使用...

cmd=function(cmd)
cmd=io.popen(cmd, 'r')
cmd = cmd:read('a+')
return cmd
end

...用于将外部命令的输出存储在 Lua 变量中。一个使用它的例子......

erg=cmd('file /proc/self/exe|grep -o -E "[/a-z]{1,512}$"')
print(erg)

但出于安全原因,io.popen() 并非在所有 Lua 5.3 环境中都可用。所以你必须先检查一下,然后才能使用它。

【讨论】:

    猜你喜欢
    • 2011-06-14
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    相关资源
    最近更新 更多