首頁 >後端開發 >Golang >使用 sudo 建立文件

使用 sudo 建立文件

王林
王林轉載
2024-02-06 09:21:101337瀏覽

使用 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刪除