Home >Backend Development >Golang >How to Retrieve and Store System Command Output as a String in Go?
Retrieving Command Output as a String in Go
In Go, accessing the output of system commands can be achieved using various methods. Initially, it may seem necessary to manipulate specific files associated with the command, such as its standard output and error streams. However, there exists a more convenient approach for capturing the command's output as a string.
To simplify the process, let's consider an example: obtaining the output of the 'ls' command in a Go program and storing it in a string variable. The following code snippet demonstrates how to accomplish this:
package main import ( "fmt" "log" "os/exec" ) func main() { out, err := exec.Command("date").Output() if err != nil { log.Fatal(err) } fmt.Printf("The date is %s\n", out) }
In the above example, exec.Command("date").Output() is employed to execute the 'date' command and retrieve its output. The result is stored in the out variable as a byte slice. To convert it into a string, simply apply the string() function:
string(out)
Additionally, exec.Command provides the CombinedOutput() method, which can be used instead of Output(). CombinedOutput() returns both standard output and standard error, enabling you to gather more information about the command's execution.
The above is the detailed content of How to Retrieve and Store System Command Output as a String in Go?. For more information, please follow other related articles on the PHP Chinese website!