解决lua中的符号链接

问题描述

我尝试使用谷歌搜索,但发现只有其他软件包可以处理此问题(出于各种原因,我希望避免使用该软件包)。

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

我正在寻找等同于以下内容的东西:

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

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

仅使用标准库在纯lua中实现此方法的任何方式?

解决方法

在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环境中都可用。因此,在使用它之前必须先进行检查。