前提・実現したいこと
GOで作成したshellを実行したい。
発生している問題・エラーメッセージ
2021/09/18 00:22:28 exit status 127 exit status 1
該当のソースコード
go
1package main 2 3import ( 4 "fmt" 5 "log" 6 "os/exec" 7 "os" 8) 9 10func main() { 11 file, err := os.Create("test2.sh") 12 if err != nil { 13 log.Fatal(err) //ファイルが開けなかったときエラー出力 14 } 15 defer file.Close() 16 17 output := `#!/bin/sh` 18 output = output + "\n\n" 19 output = output + `echo "Hello"` 20 file.Write(([]byte)(output)) 21 22 cmd := exec.Command("chmod +x test2.sh") 23 cmd.Start() 24 cmd.Wait() 25 26 var out []byte 27 out, err2 := exec.Command("sh", "-c", "test2.sh").Output() 28 if err2 != nil { 29 log.Fatal(err2) 30 } 31 fmt.Printf("Result:%s\n", string(out)) 32} 33
試したこと
output = output + "\n\n"
の改行コードを変えたりしました。
補足情報(FW/ツールのバージョンなど)
sh
1$ docker compose exec app go version 2go version go1.17 linux/amd64
Goでshellを実行する際に引数を渡す方法などがあれば教えていただけると幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。