作者:TXCWB_523 | 2023-08-16 10:39
是否可以在lua中创建目录?如果是这样,怎么样?
1> Arthur Reute..:
您可能会发现LuaFileSystem库很有用.它有一个mkdir函数.
require "lfs"
lfs.mkdir("/path/to/dir")
2> Carl Smotric..:
有一个"系统"调用(或类似的东西,这是来自内存),您应该可以使用它来运行任意程序,其中可能包括mkdir命令.
编辑:我在Lua书中找到了我的编程.在页203,它提到了如何使用
os.execute("mkdir " .. dirname)
"伪造"目录创建命令.
编辑2:注意Jonas Thiem的警告,如果目录名来自不受信任的来源,该命令可能会被滥用!
Lua的设计理念是纯ISO C,以便可以通过C编译器移植到任何东西.C标准库中没有目录创建功能.这取决于特定于平台的扩展,例如POSIX系统上的mkdir(2)和Windows上的CreateDirectory*().
这种反应非常危险**.一旦你的dirname包含; 接下来是实际的bash命令,你为自己设置了一个很好的任意命令执行漏洞.要非常小心地正确地逃避dirname - 或者只是跳过这个不好的建议并使用LuaFileSystem代替正确地做事.