我的编程空间,编程开发者的网络收藏夹
学习永远不晚

无法使用 exec.Command() 运行“git”

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

无法使用 exec.Command() 运行“git”

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面编程网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《无法使用 exec.Command() 运行“git”》,涉及到,有需要的可以收藏一下

问题内容

我想运行 exec.command("git", "config", "--global", "user.name") 并读取输出。

在 windows 上,单词 "git" 转换为 git 路径 (c:\program files\...\git.exe)。然后它尝试运行 c:\program (这不是可执行文件的路径)。

我尝试过转义空格,我尝试在路径周围添加括号,或者仅在空格周围添加括号并转义它们。没有任何效果。

arg0 := "config"
arg1 := "--global"
arg2 := "\"user.name\""
bcmd := exec.Command("git", arg0, arg1, arg2)
var stdout bytes.Buffer
bcmd.Stdout = &stdout
err := bcmd.Run()

我尝试过添加括号,但没有帮助。


正确答案


您不应该对 arg2 使用引号。至于读取输出,这取决于您对读取的理解。输出将被写入缓冲区,在您的情况下为 stdout 。您可以使用 stdout.bytes() 获取输出的字节,如果您想要实际的 string (我假设您确实想要),您可以使用 string(stdout.bytes()) 转换为 string

package main

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

func main() {
    bcmd := exec.command("git", "config", "--global", "user.name")
    var stdout bytes.buffer
    bcmd.stdout = &stdout
    err := bcmd.run()
    if err != nil {
        log.fatal(err)
    }
    fmt.printf(string(stdout.bytes()))
}

还有另一种更简单的方法可以使用 output() 执行相同的操作。

package main

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

func main() {
    outputBytes, err := exec.Command("git", "config", "--global", "user.name").Output()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf(string(outputBytes))
}

两者都会打印你的 git 用户名。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

无法使用 exec.Command() 运行“git”

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

无法使用 exec.Command() 运行“git”

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面编程网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《无法使用 exec.Command() 运行“git”》,涉及到,有需要的可
无法使用 exec.Command() 运行“git”
2024-04-05

无法在 Go 中使用 exec.Command 从 Pipe 读取

问题内容我正在编写一个 go 程序,它通过 stdin 向另一个程序发送数据,并通过 stdout 读取响应。这是一个充当某种“回显服务器”的脚本:import sysif __name__=='__main__':for line
无法在 Go 中使用 exec.Command 从 Pipe 读取
2024-02-06

尝试使用 exec.Command 运行 gofmt -r 时出现“符文文字未终止”错误

php小编柚子在使用exec.Command运行gofmt -r时,遇到了"符文文字未终止"错误。该错误可能是由于命令中的某个符号未正确终止导致的。为了解决这个问题,我们可以检查命令中的符号是否正确配对,并确保每个符号都有正确的终止符。另外
尝试使用 exec.Command 运行 gofmt -r 时出现“符文文字未终止”错误
2024-02-11

IDEA无法使用Git Pull的问题

本文主要介绍了IDEA无法使用Git Pull的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-02-02

pycharm无法运行怎么办

pycharm 无法运行的解决方案:检查 python 解释器配置是否正确。更新 pycharm 至最新版本。清除 pycharm 缓存。卸载并重新安装 pycharm。确保系统满足最低要求。在运行前禁用防病毒软件。检查第三方冲突并排除。如
pycharm无法运行怎么办
2024-04-18

uniapp无法运行怎么办

近年来,随着移动互联网的不断发展,APP已经成为了人们日常生活中不可或缺的一部分。而Uniapp则是一款非常优秀的跨平台移动端开发框架,能够帮助开发者快速地构建出各种APP应用。但是,在使用Uniapp开发APP的过程中,很多开发者会遇到uniapp无法运行的问题,给开发带来了不小的困扰。那么,uniapp无法运行的原因有哪些呢?我们该如何解决这些问题呢?一、uniapp无法运
2023-05-14

无法从 Go 应用程序运行“op”

php小编鱼仔在使用Go语言开发应用程序时,可能会遇到一个常见的问题,即无法从Go应用程序运行"op"。这个问题可能会导致应用程序无法正常运行或出现错误信息。解决这个问题的方法有很多种,可以通过检查代码中是否正确导入了相应的包,或者重新安装
无法从 Go 应用程序运行“op”
2024-02-10

使用pyinstaller打包可执行文件时无法运行如何解决

这期内容当中小编将会给大家带来有关使用pyinstaller打包可执行文件时无法运行如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、实验环境1.Windows7x64_SP12.anaconda
2023-06-14

toastfish无法运行如何解决

本篇内容主要讲解“toastfish无法运行如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“toastfish无法运行如何解决”吧!toastfish无法运行1、安装后没反应,可以先查看下
2023-03-22

win10此应用无法运行怎么解决

在Windows 10中,当您遇到此应用无法运行的问题时,您可以尝试以下解决方法:重新启动计算机:有时候重新启动计算机可以解决一些临时的问题。检查应用的兼容性:右键单击应用程序的快捷方式或可执行文件,选择“属性”,然后切换到“兼容性”选项卡
2023-10-22

win10配置jdk后javac无法运行

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定
win10配置jdk后javac无法运行
2017-03-09

VSCode中autopep8无法运行怎么办

这篇文章给大家分享的是有关VSCode中autopep8无法运行怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。错误现象:autopep8无法运行,运行后vscode右下角提示Error: Command f
2023-06-06

win10无法运行itunes如何解决

如果您在Windows 10上无法运行iTunes,可以尝试以下解决方法:1. 确保您的Windows 10系统已更新至最新版本。打开"设置",选择"更新与安全",然后点击"检查更新"。2. 确保您的iTunes已更新至最新版本。打开iTu
2023-10-09

js无法运行php如何解决

今天小编给大家分享一下js无法运行php如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。js无法运行php的解决办法:
2023-07-04

win10无法运行silverlight如何解决

如果Windows 10无法运行Silverlight,您可以尝试以下解决方法:1. 确保已安装最新版本的Silverlight:前往Microsoft Silverlight官方网站(https://www.microsoft.com/s
2023-09-16

win10无法运行cmd如何解决

这篇文章主要介绍“win10无法运行cmd如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win10无法运行cmd如何解决”文章能帮助大家解决问题。1、首先按下键盘“win+R”组合键打开运行
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录