为了账号安全,请及时绑定邮箱和手机立即绑定

无法访问 Go Lambda 中的文件系统

无法访问 Go Lambda 中的文件系统

Go
拉莫斯之舞 2022-09-12 16:56:10
我以前使用过Lambda函数,如果我没记错的话,我应该在中拥有约500Mb的(短暂的)空间。/tmp然而,我的 Go lambda 函数似乎没有与 fs 正确交互:exec.Command("ls -la /").Output()返回空exec.Command("rm -rf /tmp/xxx").Run()返回fork/exec : no such file or directoryexec.Command("mkdir -p /tmp/xxx").Run()返回fork/exec : no such file or directory这真的很奇怪。它使用的是 go1.x 环境(因此,我猜亚马逊linux:2)更新我可以使用 Go os 函数访问 fs:os.RemoveAll("/tmp/xxx")if _, err := os.Stat("/tmp/xxx"); os.IsNotExist(err) {    if err := os.Mkdir("/tmp/xxx", os.ModePerm); err != nil {        return err    }}但是我真的需要exec来运行之后(二进制命令),并在该tmp文件夹中写入一个文件。在这种情况下,错误是相同的(没有这样的文件或目录)。即使我刚刚使用上述命令创建了文件夹。
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

你很接近。您的使用方式尚未100%正确。请尝试以下操作:exec.Command()


package main


import (

    "fmt"

    "os"

    "os/exec"

)


func main() {

    o, err := exec.Command("ls", "-la", "/tmp").Output()

    if err != nil {

        fmt.Println(err)

        os.Exit(1)

    }


    fmt.Printf("%s\n", o)

}

第一个参数是要运行的程序,以下所有参数都是程序参数。Command()


请参阅 https://play.golang.org/p/WaVOU0IESmZ


查看完整回答
反对 回复 2022-09-12
  • 1 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信