我用的是Macbook。我试图使用os.Chdir("/tmp")
,但结果是/private/tmp
。下面是我的代码:
package main
import (
"fmt"
"os"
)
func main() {
s, _ := os.Getwd()
fmt.Println(s)
if err := os.Chdir("/tmp"); err != nil {
panic(err)
}
s, _ = os.Getwd()
fmt.Println(s)
}
输出为:
➜ test go run main.go
/Users/willy/test
/private/tmp
为什么?
在这个Apple线程中
在OS X上,
/tmp
是/private/tmp
的别名。
$ ls -ale / | grep -i tmp
lrwxr-xr-x@ 1 root wheel 11 Aug 30 2009 tmp -> private/tmp
$
符号链接后面是一个golang syscall.Chdir()
。
所以最终的路径应该在Mac OS平台上。