得到了這個簡單的函數,該函數在退出狀態 1 時拋出并出錯,而沒有任何進一步的提示說明為什么會發生這種情況func execute_this(cmd string ) string { out, err := exec.Command("cmd","/C", cmd).Output() if err != nil { log.Fatal(err) fmt.Println(out) } fmt.Println(string(out)) return string(out)}func main() { var cmd string var result string cmd = "pwd" result = execute_this(cmd) fmt.Println(result)}拋出錯誤信息2021/10/27 01:12:06 exit status 1exit status 1目標是編寫一個在 shell 中執行系統命令并將輸出作為字符串返回的函數
1 回答

白豬掌柜的
TA貢獻1893條經驗 獲得超10個贊
試試這個,它還可以讓你看到發送到 stderr 的輸出。詳情在這里。
具體來說,就您而言,問題在于
'pwd' is not recognized as an internal or external command,
operable program or batch file.
package main
import (
"fmt"
"log"
"os/exec"
"os"
)
func execute_this(cmd string ) string {
c := exec.Command("cmd","/C", cmd)
c.Stderr = os.Stderr
out, err := c.Output()
if err != nil {
log.Fatal(err)
}
return string(out)
}
func main() {
cmd := "pwd"
result := execute_this(cmd)
fmt.Println(result)
}
- 1 回答
- 0 關注
- 100 瀏覽
添加回答
舉報
0/150
提交
取消