猿问

os.Chdir("/tmp") 在 Go 中工作异常

我用的是 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

为什么?


慕工程0101907
浏览 210回答 1
1回答

至尊宝的传说

正如这个Apple 线程中的 chown在 OS X 上,/tmp是/private/tmp.$ ls -ale / | grep -i tmplrwxr-xr-x@    1 root  wheel        11 Aug 30  2009 tmp -> private/tmp$golang将syscall.Chdir()遵循该符号链接。所以最终路径预计在 Mac OS 平台上。
随时随地看视频慕课网APP

相关分类

Go
我要回答