我希望使用 Go 的 os.Create(filename) 方法创建一个文件(相当于“mkdir filename”)。但是我没有该文件夹的写入权限。是否有“sudo mkdir filename”的 Go 方法?我在官方文档或其他地方找不到任何对此的引用。
golang 可执行文件是从运行可执行文件的用户上下文中执行的。如果你执行 go run main.go
,它会以“you”的身份运行。如果你执行 sudo go run main.go
它将以 root 身份运行。
因此,只需像具有 sudo 一样编写您的应用程序即可。并确保运行 sudo go run main.go
。
写入文件的示例程序:https://www.php.cn/link/69ddb50142a89123ba6f870ab07e6fbb
package main import ( "fmt" "os" ) func main() { // Choose your own perms here file, err := os.OpenFile("myfile.txt", os.O_CREATE|os.O_WRONLY, 0644) if err != nil { panic(err) } _, err = file.WriteString("Hello World!") if err != nil { panic(err) } file.Close() data, err := os.ReadFile("myfile.txt") if err != nil { panic(err) } fmt.Println(string(data)) }
以上是使用 sudo 创建文件的详细内容。更多信息请关注PHP中文网其他相关文章!