我以前使用過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
- 1 回答
- 0 關注
- 90 瀏覽
添加回答
舉報
0/150
提交
取消