golangでシェルコマンドを実行する方法は何ですか?
Go言語でシェルコマンドを実行するには、os/execパッケージを使用します。以下は簡単なサンプルコードです:
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ls", "-l")
output, err := cmd.Output()
if err != nil {
fmt.Println("Error executing command: ", err)
return
}
fmt.Println(string(output))
}
以上のコードでは、exec.Command関数を使用してCmd構造体を作成し、実行するコマンドを表すことができます。その後、CmdのOutputメソッドを使用してコマンドを実行し、出力結果を取得します。
Shellコマンドを実行する際は十分に注意して、潜在的なセキュリティリスクによる攻撃を防いでください。ユーザー入力のコマンドを直接連結する代わりに、パラメータ化された方法でコマンドを実行することをお勧めします。