【发布时间】:2015-11-03 09:18:37
【问题描述】:
我正在编写一个 Mac OS 程序,我有以下几行:
os.execute("cd ~/testdir")
configfile = io.open("configfile.cfg", "w")
configfile:write("hello")
configfile:close()
问题是,它只在脚本当前目录中创建配置文件,而不是我刚刚 cd' 进入的文件夹。我意识到这是因为我使用控制台命令更改目录,然后直接 Lua 代码写入文件。为了解决这个问题,我将代码更改为:
configfile = io.open("~/testdir/configfile.cfg", "w")
但是我得到以下结果:
lua: ifontinst.lua:22: attempt to index global 'configfile' (a nil value)
stack traceback:
ifontinst.lua:22: in main chunk
我的问题是,使用 IO.Open 在我刚刚在用户主目录中创建的文件夹中创建文件的正确方法是什么?
我很感激我在这里犯了一个新手错误,所以如果你在我身上浪费你的时间,我很抱歉。
【问题讨论】:
-
os.execute("cd ~/testdir")无法按预期工作,因为更改子进程中的当前目录不会影响父进程。