Я хочу, чтобы программа Go запускала команду (включая встроенные команды) в терминале bash, а также отображала ее в самом терминале, как
$ls
trial.go output.txt hello.txt
$pwd
/home/bb/cc
$go run trial.go pwd
/home/bb/cc
$go run trial.go cd ..
$pwd
/home/bb
Как вы можете видеть, скрипт golangпринимает команду в качестве ввода и выполняет ее в том же терминале и среде, а также отображает вывод
Я пробовал приведенный ниже код, но он не работает для встроенных команд
cmd := exec.Command("<the input command>")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Run()
if err != nil {
log.Fatalf("cmd.Run() failed with %s\n", err)
}
Простыми словами, строка ввода будет вставлена в терминал и будет выполнена.