我正在嘗試使用WalkDirwithChmod遞歸更改目錄及其文件和子目錄的權限。它以某種方式只是更改給定路徑的第一個文件或目錄,然后停止。有人可以發現錯誤嗎?getFileMode只是轉換字符串“755”os.FileMode(0755)并返回它。func ChmodRec(path string, di fs.DirEntry, err error) error { fileMode, err2 := getFileMode(os.Getenv("CHMOD_MODE")) if err2 != nil { log.Fatal("Could not set file mode for chmodding", path) panic(err) } err2 = os.Chmod(path, fileMode) if err2 != nil { fmt.Println("Could not chmod", path) panic(err) } fmt.Println("Changing mode of", path) return nil}func ChmodRecursive(path string, mode string) { os.Setenv("CHMOD_MODE", mode) err := filepath.WalkDir(path, ChmodRec) if err != nil { log.Fatal("Could not chmod recursively ", path) panic(err) }}func main() { path := "bla/test/" mode := "755" ChmodRecursive(path, mode)}
Golang chmod文件和目錄遞歸
慕工程0101907
2023-01-03 11:20:43