返回顶部
首页 > 资讯 > 精选 >如何从 go 中的 os.exec 获取输出
  • 225
分享到

如何从 go 中的 os.exec 获取输出

go语言 2024-02-08 21:02:17 225人浏览 薄情痞子
摘要

在使用Go语言中的os.exec包时,获取命令执行的输出是一个常见的需求。但是,由于os.exec包的设计特点,直接获取输出并不是一件简单的事情。那么,如何从Go语言中的os.exec

在使用Go语言中的os.exec包时,获取命令执行的输出是一个常见的需求。但是,由于os.exec包的设计特点,直接获取输出并不是一件简单的事情。那么,如何从Go语言中的os.exec中获取命令的输出呢?在本文中,我们将为大家详细介绍一种简单有效的方法,帮助大家解决这个问题。无论你是初学者还是有经验的开发者,相信本文都能对你有所帮助。让我们一起来看看吧!

问题内容

我正在尝试从以下代码获取系统输出

cmdstring := "lxc exec " + containername + " -- ip addr show eth0 | grep 'inet\b' | awk '{print $2}' | cut -d/ -f1"
ip, err := exec.command("bash", "-c", cmdstring).output()
fmt.println(ip)

上面的代码应该从 lxc 容器获取 ip 地址。

go的实际输出是[]

我也尝试过以下方法

ip, err := exec.command("lxc", "exec ", containername, " --", "ip addr show eth0", "|", "grep", "'inet\b'", "| awk '{print $2}'", "| cut -d/", "-f1").output()
fmt.println(ip)

我仍然只得到 [] 作为输出

命令行的正确输出如下

[root@localhost toolbox]# lxc exec simon -- ip addr show eth0 | grep 'inet\b' | awk '{print $2}' | cut -d/ -f1
10.183.201.38

知道我做错了什么吗?

解决方法

阅读这段代码,您就可以了解如何读取结果的标准输出

package main

import (
    "bytes"
    "fmt"
    "os/exec"
)

func main() {
    cmd := exec.Command("/usr/bin/ls")
    buf := bytes.Buffer{}
    cmd.Stdout = &buf
    err := cmd.Run()

    fmt.Println(buf.String(), err)
}

以上就是如何从 go 中的 os.exec 获取输出的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 如何从 go 中的 os.exec 获取输出

本文链接: https://lsjlt.com/news/562069.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何从 go 中的 os.exec 获取输出
    在使用Go语言中的os.exec包时,获取命令执行的输出是一个常见的需求。但是,由于os.exec包的设计特点,直接获取输出并不是一件简单的事情。那么,如何从Go语言中的os.exec...
    99+
    2024-02-08
    go语言
  • 输出时如何获取输入?
    php小编苹果今天来给大家介绍一个常见的问题:在PHP中,当我们需要获取用户的输入时,应该如何进行输出呢?获取用户的输入是编写交互式程序的重要环节,因此掌握正确的方法十分重要。在PHP...
    99+
    2024-02-09
    表单提交
  • 如何从单个查询中获取多个 MySQL 表的输出?
    我们知道一个查询可以有多个 MySQL 语句,后跟一个分号。假设如果我们想从多个表中获取结果,请考虑以下示例,通过编写单个查询从“Student_info”和“Student_detail”获取结果集 -mysql> Selec...
    99+
    2023-10-22
  • shell脚本中如何获取命令的输出
    这篇“shell脚本中如何获取命令的输出”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“shell脚本中如何获取命令的输出”文...
    99+
    2023-06-29
  • 我们如何从 MySQL 表中获取一列或多列作为输出?
    SELECT 命令可用于从 MySQL 表中获取一列或多列作为输出。下面给出了一个示例来获取一列或多列mysql> Select * from Student; +------+---------+---------+---...
    99+
    2023-10-22
  • java如何获取输出流内容
    在Java中,可以通过以下方法来获取输出流的内容:1. 使用ByteArrayOutputStream类:可以创建一个ByteArr...
    99+
    2023-09-22
    java
  • 如何获取 ffmpeg 命令的文件输出?
    本篇文章给大家分享《如何获取 ffmpeg 命令的文件输出?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认...
    99+
    2024-04-04
  • 如何从 go 中的 jwt 令牌获取过期日期?
    在 Go 语言中,JWT 令牌是一种常见的身份验证机制。要从 JWT 令牌中获取过期日期,我们可以使用第三方库 "github.com/dgrijalva/jwt-go" 来解析令牌的...
    99+
    2024-02-14
    字符串解析
  • 如何从npm获取最佳的go api教程包?
    在进行Go语言开发时,我们难免会用到一些第三方的API库。这些库中有很多是由社区开发者维护的,其中有些是非常优秀的,可以大大提高我们的开发效率。但是,在众多的API库中,我们该如何找到最佳的教程包呢?今天我们就来探讨一下如何从npm获取最...
    99+
    2023-08-04
    api 教程 npm
  • Python实时获取cmd的输出
    最近发现一个问题,一个小伙儿写的console程序不够健壮,监听SOCKET的时候容易崩,造成程序的整体奔溃,无奈他没有找到问题的解决办法,一直解决不了,可是这又是一个监控程序,还是比较要紧的,又必须想办法...
    99+
    2022-06-04
    实时 Python cmd
  • php中如何从URL中获取参数
    从 php 中的 url 中获取参数可使用 $_get 超全局变量:确定请求方法为 get。使用 $_get 数组访问参数:键为参数名,值是参数值。 如何从 PHP 中的 URL 中获...
    99+
    2024-04-29
  • 实时获取Python的print输出流
    我的应用场景是:使用shell执行python文件,并且通过调用的返回值获取python的标准输出流。 shell程序如下: cmd='python '$1' '$2' '$3' '$5' '$4 RESULT=eval $cm...
    99+
    2023-01-31
    实时 Python print
  • 如何从gin中的前端获取数据?
    小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《如何从gin中的前端获取数据?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!问题内容...
    99+
    2024-04-05
  • Go语言如何获取字符出现次数
    这篇文章主要讲解了“Go语言如何获取字符出现次数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言如何获取字符出现次数”吧!在Go语言中,可以利用Strings包的count()函数来获...
    99+
    2023-07-05
  • 如何从Error Code获取Message
    如何从Error Code获取Message1. Windows下根据错误代码号打印错误消息命令Net helpmsg“displays information about Windows network ...
    99+
    2024-04-02
  • Go Firestore 从集合中获取所有文档
    对于一个Golang开发者来说,牢固扎实的基础是十分重要的,编程网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《Go Firestore 从集合中获取所有文档》,主要介绍了,希望对大家的...
    99+
    2024-04-05
  • 在没有名为 Dual 的虚拟表的情况下,如何从 MySQL 获取自计算输出?
    在MySQL中,我们可以简单地单独指定SELECT条件来获得自计算的输出。下面的例子将演示它 -mysql> Select 1+1; +-----+ | 1+1 | +-----+ | 2 | +-----+ 1 row...
    99+
    2023-10-22
  • go中如何获取页面名称?
    哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《go中如何获取页面名称?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起...
    99+
    2024-04-05
  • python如何从字典中获取元素
    这篇文章主要介绍python如何从字典中获取元素,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!从字典中获取元素不要用下列的方式data = {'user': 1,&nbs...
    99+
    2023-06-17
  • SpringBoot 如何从容器中获取对象
    目录如何从容器中获取对象SpringBoot中的容器容器功能1、组件添加2、原生配置文件引入(xml文件引入)3、配置绑定如何从容器中获取对象 有时候在项目中,我们会自己创建一些类,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作