亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

相當于 golang 中的 cat <<EOF

相當于 golang 中的 cat <<EOF

Go
守著星空守著你 2022-10-17 10:00:01
我正在嘗試執行等效的操作:cat <<EOF | kubectl apply -f -apiVersion: v1kind: ConfigMapmetadata:  name: testMap  namespace: defaultdata:  details:    host: "localhost:${reg_port}"EOF在戈朗。我目前的嘗試歸結為:func generateConfig(port string) string {    return `apiVersion: v1kind: ConfigMapmetadata:  name: testMap  namespace: defaultdata:  details:    host: "localhost:" + port`}func main() {  exec.Command("kubectl", "apply", "-f", "-", generateConfig(5000))}發現它不起作用并出現錯誤,我并不感到特別驚訝:error: Unexpected args: [apiVersion: v1kind: ConfigMapmetadata:    name: testMap    namespace: defaultdata:    details:        host: "localhost:5000"]我認識到我將這些作為 args 傳遞并且 kubectl 需要一個文件,但是我發現自己完全不知道如何繼續。我寧愿不制作臨時文件或調用單獨的 bash 腳本,因為這看起來比我希望的要復雜。
查看完整描述

1 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

此處的 shell文檔被定向到命令的標準輸入。

以下是如何將命令的標準輸入設置為 generateConfig 的結果:

cmd := exec.Command("kubectl", "apply", "-f", "-")

cmd.Stdin = strings.NewReader(generateConfig("5000"))


if err := cmd.Run(); err != nil {

    // handle error

}


查看完整回答
反對 回復 2022-10-17
  • 1 回答
  • 0 關注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號