|
123456789101112131415161718 |
- function os.chdir(p) -- string -- boolean string -- changes the current working directory of the calling process to the directory specified in *p*, returning true or false, error
- if not (p:sub(1,1) == "/") then
- local np = {}
- for k,v in pairs(fs.segments(os.getenv("PWD").."/"..p)) do
- if v == ".." then
- np[#np] = nil
- else
- np[#np+1] = v
- end
- end
- p = "/"..table.concat(np,"/")
- end
- if fs.list(p) then
- os.setenv("PWD",p)
- else
- return false, "no such directory"
- end
- end
|