GO kullanarak BASH üzerinde basitçe komut çalıştırma

Ali Orhun Akkirman - Jul 21 '20 - - Dev Community

GO dili kullanarak bash üzerinde bir komut çalıştırıp, çıktısının veya hata çıktısının alınabilmesini sağlayan ve hatta hata çıktısını log olarak oluşturan basit bir GO uygulaması örneği aşağıdaki gibidir.

Örneğimizde basitçe GNU/Linux sistemler üzerinde sistemde hangi işlemci olduğunu göstermektedir. İlgili kod parçacığını cpu.go isminde kaydedebilirsiniz.

package main

import (
    "fmt"
    "log"
    "os/exec"
)

func ogrenCPU() {
    cmd:="lscpu | grep 'Model name:' | cut -d':' -f2 | sed -e 's/^[[:space:]]*//'| tr -d '\n'"
    out, err := exec.Command("bash","-c",cmd).Output()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("CPU Bilgisi: %s\n", out)
}

func main() {
    ogrenCPU()
}
Enter fullscreen mode Exit fullscreen mode

İlgili komut sonrasında GO kodunuzu aşağıdkai gibi derlemeniz gerekmektedir:

go build cpu.go
Enter fullscreen mode Exit fullscreen mode

Derlendikten sonra aşağıdaki gibi çalıştırabilirsiniz:

./cpu
Enter fullscreen mode Exit fullscreen mode

Aut disce aut discede

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .