得到了這個簡單的函數(shù),該函數(shù)在退出狀態(tài) 1 時拋出并出錯,而沒有任何進一步的提示說明為什么會發(fā)生這種情況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 中執(zhí)行系統(tǒng)命令并將輸出作為字符串返回的函數(shù)
1 回答

白豬掌柜的
TA貢獻1893條經(jīng)驗 獲得超10個贊
試試這個,它還可以讓你看到發(fā)送到 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 關(guān)注
- 99 瀏覽
添加回答
舉報
0/150
提交
取消