问题内容
我希望使用 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.codesou.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)) }
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 使用 sudo 创建文件
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 使用 sudo 创建文件