Rumah >pembangunan bahagian belakang >Golang >Buat fail menggunakan sudo

Buat fail menggunakan sudo

王林
王林ke hadapan
2024-02-06 09:21:101356semak imbas

使用 sudo 创建文件

Kandungan soalan

Saya ingin mencipta fail (bersamaan dengan "nama fail mkdir") menggunakan kaedah os.Create(nama fail) Go. Tetapi saya tidak mempunyai kebenaran menulis ke folder itu. Adakah terdapat kaedah Go untuk "sudo mkdir nama fail"? Saya tidak dapat mencari sebarang rujukan kepada ini dalam dokumentasi rasmi atau di tempat lain.


Jawapan Betul


golang boleh laku dilaksanakan daripada konteks pengguna menjalankan boleh laku. Jika anda melaksanakan go run main.go ,它会以“you”的身份运行。如果你执行 sudo go run main.go ia akan dijalankan sebagai root.

Jadi hanya tulis permohonan anda seolah-olah anda mempunyai sudo. Dan pastikan ia berjalan sudo go run main.go.

Contoh program untuk menulis fail: 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))
}

Atas ialah kandungan terperinci Buat fail menggunakan sudo. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam