Aut disce aut discede
GO Kullanarak BASH Üzerinde Komut Çalıştırma
GO Kullanarak BASH Üzerinde Komut Çalıştırma
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()
}
İlgili komut sonrasında GO kodunuzu aşağıdkai gibi derlemeniz gerekmektedir:
go build cpu.go
Derlendikten sonra aşağıdaki gibi çalıştırabilirsiniz:
./cpu