我有点知道如何在 C 中执行此操作,但如何在 Go 中执行此操作?
这是我正在使用的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_CMN_LEN 100
int main(int argc, char *argv[])
{
char cmd[MAX_CMN_LEN] = "", **p;
if (argc < 2) /*no command specified*/
{
fprintf(stderr, "Usage: ./program_name terminal_command ...");
exit(EXIT_FAILURE);
}
else
{
strcat(cmd, argv[1]);
for (p = &argv[2]; *p; p++)
{
strcat(cmd, " ");
strcat(cmd, *p);
}
system(cmd);
}
return 0;
}
最佳答案
像这样:
package main
import (
"os"
"os/exec"
)
func main() {
if len(os.Args) < 2 {
panic("Usage: ./program_name terminal_command ...")
}
cmd := exec.Command(os.Args[1], os.Args[2:]...)
cmd.Run()
}
关于bash - 将命令作为输入并在终端中运行的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43307491/