Lua 更改当前/工作目录,Linux(没有 LFS 或任何非标准模块)

标签 lua dir

我需要更改 lua 脚本中的当前工作目录以执行特定操作,但我无法完成这个简单的任务。 我写测试脚本 test.lua :

os.execute("cd /usr")
os.execute("ls")

但是lua test.lua输出是:

test.lua

当前目录没有改变。怎么了?而且我不能使用 LFS 或任何非标准模块。


感谢大家解释情况。我选择了另一种方式:在运行 lua 脚本之前更改工作目录,但是我在脚本中使用的路径和脚本中遇到了很多麻烦。

最佳答案

在 Unix 上,os.execute() 生成一个子进程及其子进程。在 jpjacobs 的回答,第一个进程将执行 shell。

目录更改操作只影响子进程,不影响子进程 Lua 解释器正在执行您的程序的过程。

关于Lua 更改当前/工作目录,Linux(没有 LFS 或任何非标准模块),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561659/

相关文章:

scripting - 什么时候用像Lua这样的嵌入式脚本语言好

windows - 批处理脚本解析目录命令

php - php 如何统计文件夹中的文件数

vba - VBA 中的文件搜索

c++ - 名为 type 的全局变量隐藏了 Lua 中的内置 type() 函数

function - Lua 如何创建可用于变量的自定义函数?

nil 类型的 Lua 条件

java - 92khz 到 192khz 音频还有什么可以做的吗?

batch-file - 如何缩短批处理文件中文本文件的文件路径输出