Here, we will execute a specified command without any option using the syscall.Exec()function. And, we will execute the "ls" shell command and print output on the console screen.
The source code to execute a specified shell command without options is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.
// Golang program to execute specified
// shell command without options
package main
import "os"
import "os/exec"
import "syscall"
func main() {
command, err := exec.LookPath("ls")
if err != nil {
panic(err)
}
args := []string{"ls"}
err = syscall.Exec(command, args, os.Environ())
if err != nil {
panic(err)
}
}
Output:
bin
dev
etc
home
lib
lib64
proc
root
sys
tmp
tmpfs
usr
var
Explanation:
In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the required packages to predefined functions.
In the main() function, we checked "ls" command exists or not, using the exec.LookPath() function and get the handle for the command. After that, we executed the specified command using the syscall.Exec() function and print the output of the "ls" command on the console screen.
Program/Source Code:
The source code to execute a specified shell command without options is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.
Output:
Explanation:
In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the required packages to predefined functions.
In the main() function, we checked "ls" command exists or not, using the exec.LookPath() function and get the handle for the command. After that, we executed the specified command using the syscall.Exec() function and print the output of the "ls" command on the console screen.
need an explanation for this answer? contact us directly to get an explanation for this answer