首页 >后端开发 >Golang >使用 sudo 创建文件

使用 sudo 创建文件

王林
王林转载
2024-02-06 09:21:101310浏览

使用 sudo 创建文件

问题内容

我希望使用 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中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除