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

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

Go exec.Command 似乎無法將信息通過管道傳輸或附加到 .txt 文件。我的語法錯誤嗎?

Go exec.Command 似乎無法將信息通過管道傳輸或附加到 .txt 文件。我的語法錯誤嗎?

Go
慕標(biāo)5832272 2023-07-31 15:51:01
我一直在嘗試運行一個命令,以便不必使用 bash 腳本,而是使用 go 來運行命令。HOME=/home/gogopowerrangers 在 ubuntu 18.04 上const systemInfoLoc string = "$HOME/systemvar.txt"//I've tried to run with full path as well heregetSystemKernel := exec.Command("uname", "-s", ">>", "home/username/system.txt")getSystemKernel.Run()//^doesn't seem to return anything//orgetsystemvar,_ = exec.Command("echo", "$USER", ">", "$HOME/systemvar.txt").Outputfmt.Println(string(getsystemvar))//here even after the system doesn't seen to recognize $USER or $HOME or actually get the variables我的語法錯誤嗎?我可以將參數(shù)作為 args []string 傳遞,但這似乎沒有什么區(qū)別。我知道如果我將它們寫入 CMD 行或 bash 腳本中它們會起作用。如果您發(fā)現(xiàn)有問題,請告訴我。
查看完整描述

2 回答

?
慕容3067478

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

exec.Command()不在 shell 內(nèi)運行,它只運行命令。這對您來說意味著它不會擴展環(huán)境變量 (?$HOME) 或執(zhí)行重定向 (?>,?>>),因為這是 shell 的工作。

exec.Command()除非絕對必要,否則我不建議在內(nèi)部運行 shell ,因為所需的不受信任輸入的引用可能很棘手,并且很可能出現(xiàn)錯誤(包括安全問題)。

您可以使用os.ExpandEnv()os.GetEnv()來加載環(huán)境變量。您可以通過讀取輸出然后將其寫入所需的文件來進(jìn)行重定向,例如使用ioutil.WriteFile().

把它們放在一起看起來像(未經(jīng)測試):

// Expand the $HOME variable.

systemInfoLoc := os.ExpandEnv("$HOME/systemvar.txt")


// Run uname command and get both stdout and stderr

getSystemKernel, err := exec.Command("uname", "-s").CombinedOutput()

if err != nil {

? ? // Show error and output

? ? log.Fatalf("%s: %s", err, getSystemKernel)

}


// Write result to file

err = ioutil.WriteFile("home/username/system.txt", getSystemKernel, 0644)

if err != nil {

? ? log.Fatal(err)

}


查看完整回答
反對 回復(fù) 2023-07-31
?
郎朗坤

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

間接是 shell 的一項功能。如果您想使用間接,您有以下兩種選擇之一:

  • 通過 shell 運行它。

    getSystemKernel := exec.Command("/bin/sh", "-c", "uname -s >> home/username/system.txt")
  • 使用該os/exec包,并自己處理程序的輸出流。


查看完整回答
反對 回復(fù) 2023-07-31
  • 2 回答
  • 0 關(guān)注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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