第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當(dāng)傳遞的參數(shù)是以前運行的 exec 的輸出時,為什么 os/exec 命令不能按預(yù)期工作?

當(dāng)傳遞的參數(shù)是以前運行的 exec 的輸出時,為什么 os/exec 命令不能按預(yù)期工作?

Go
尚方寶劍之說 2022-09-26 17:41:35
我正在嘗試使用戈蘭在瀏覽器上打開給定的URL。當(dāng)我使用此代碼時,它按預(yù)期工作并在瀏覽器中打開給定的URL:func main() {    url := "https://google.com"    fmt.Printf(url)    cmd := exec.Command("open", url)    var out bytes.Buffer    var stderr bytes.Buffer    cmd.Stdout = &out    cmd.Stderr = &stderr    err := cmd.Run()        if err != nil {        fmt.Println(fmt.Sprint(err) + ": " + stderr.String())    }}輸出(打開瀏覽器):~/workspace/go/so ? go run main.gohttps://google.com%但是當(dāng)我使用 的輸出作為第二個調(diào)用的參數(shù)時,程序返回如下錯誤:exec.Command("echo", "https://google.com")exec.Commandfunc main() {    output, err := exec.Command("echo", "https://google.com").Output()    if err != nil {        fmt.Println(err)    }    url := string(output)    fmt.Printf(url)    cmd := exec.Command("open", url)    var out bytes.Buffer    var stderr bytes.Buffer    cmd.Stdout = &out    cmd.Stderr = &stderr    err = cmd.Run()        if err != nil {        fmt.Println(fmt.Sprint(err) + ": " + stderr.String())    }}輸出(錯誤中有當(dāng)前目錄路徑作為 URL 后面的路徑):~/workspace/go/so ? go run main.gohttps://google.comexit status 1: The file /Users/kadir/workspace/go/so/https:/google.com does not exist.我在第二個代碼塊中做錯了什么?我的go版本是1.17,文件是這樣的:go.modmodule sogo 1.17require github.com/urfave/cli/v2 v2.3.0require (    github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect    github.com/russross/blackfriday/v2 v2.1.0 // indirect    github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect)
查看完整描述

1 回答

?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗 獲得超5個贊

如前所述@JimB在命令輸出的末尾有一個隱式換行符。

最好使用謂詞來確保輸出中沒有惡意字符:fmt%q

 fmt.Printf("%q\n", url)  // "https://google.com\n"

因此,在源位置修復(fù)此問題,使用 來抑制換行符:echo -n

output, err := exec.Command("echo", "-n", "https://google.com").Output()

或在接收端:

url = strings.TrimSpace(url)


查看完整回答
反對 回復(fù) 2022-09-26
  • 1 回答
  • 0 關(guān)注
  • 103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號