Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "encoding/json"
- "fmt"
- "io/ioutil"
- "log"
- "os"
- "os/exec"
- )
- type Test struct {
- Test []CMD `json:"data"`
- }
- type CMD struct {
- Cmd1 Command1 `json:"command1"`
- Cmd2 string `json:"command2"`
- }
- type Command1 struct {
- Cmd string `json:"cmd"`
- Param string `json:"param"`
- }
- func executeCommand(cmd string, args_array []string) (err error) {
- args := args_array
- cmd_obj := exec.Command(cmd, args...)
- cmd_obj.Stdout = os.Stdout
- cmd_obj.Stderr = os.Stderr
- err = cmd_obj.Run()
- if err != nil {
- log.Fatal(err)
- return
- }
- return nil
- }
- func executeCMD(cmd string) (err error) {
- cmd_obj := exec.Command(cmd)
- cmd_obj.Stdout = os.Stdout
- cmd_obj.Stderr = os.Stderr
- err = cmd_obj.Run()
- if err != nil {
- log.Fatal(err)
- return
- }
- return nil
- }
- func main() {
- jsonFile, err := os.Open("archivoJSON.json")
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println("Successfully Opened archivoJSON.json")
- defer jsonFile.Close()
- byteValue, _ := ioutil.ReadAll(jsonFile)
- var test Test
- json.Unmarshal(byteValue, &test)
- //fmt.Println(test.Test[0].Cmd1.Cmd) ls
- //fmt.Println(test.Test[0].Cmd1.Param) -l
- fmt.Print("")
- cmda := test.Test[0].Cmd1.Cmd //Comando en formato String
- cmdb := test.Test[0].Cmd1.Param
- executeCommand(cmda, []string{cmdb})
- //cmd = "pwd"
- //executeCMD(cmd)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement