草庐IT

create_command

全部标签

go - exec.Command 调用 java cli

如何让exec.Command命令从另一个文件调用命令?funcmain(){fmt.Println("Iniciando...")command:=exec.Command("java-version")command.Dir="."output,err:=command.Output()iferr!=nil{fmt.Println("Erro:",err)}fmt.Printf("%s",output)}错误:exec:“java-version”:在$PATH中找不到可执行文件 最佳答案 每个参数都需要在自己单独的字符串中。试

go - exec.Command 错误,没有输出到 stdout 或 stderr

我正在尝试使用ffprobe和exec.Command获取视频的持续时间,但我一直收到错误消息。但是,stdout和stderr都是空的,所以我不知道问题出在哪里。funcgetVideoLength(filenamestring)float64{cmd:=exec.Command("ffprobe","-i",filename,"-show_entries","format=duration","-v","quiet","-of","csv=\"p=0\"")fmt.Println("ffprobe","-i",filename,"-show_entries","format=dur

Golang : 3 ways to create a new instance but what's the difference?(初学者)

我是Golang的新手,根据我目前所学,有3种不同的方法来新建一个结构:a:=MyStruct{}//plainbyvaluestyle.Isthatwhatthisiscalled?b:=new(MyStruct)//usingnewc:=&MyStruct{}//usingareferenceExample我不清楚它们之间的实际区别然后我发现在像这样打印对象的内存地址时我必须添加一个引用&符号fmt.Printf("%p\n",&a)当使用“plain”样式时vsfmt.Printf("%p\n",&a)对于"新”和“引用”样式。我的假设是,这是因为使用“普通”风格以不同方式分配内

go - 补丁命令的 exec.command

我正在尝试使用以下命令修补文件patch-p0我的runCommand语法如下:funcrunCommand(cmdstring,args...string)error{ecmd:=exec.Command(cmd,args...)ecmd.Stdout=os.Stdoutecmd.Stderr=os.Stderrecmd.Stdin=os.Stdinerr:=ecmd.Run()returnerr}现在我传递我的补丁命令如下:cmd="patch"args:=[]string{"-p0","但我看到以下错误:补丁:****找不到文件“你能告诉我我在这里缺少什么吗?

go - 从 exec.Command 写入文件

我正在尝试将bash命令中的文件写入Go中的文件。请注意,在这里使用Go而不是bash有几个原因:我有一些更多的逻辑,例如解析配置文件,我想为多个数据库并行运行该代码,最后执行一些更复杂的数据操作。dumpStr:=fmt.Sprintf("pg_dump-U%s-h%s%s|gzip",DbUserName,DbHost,DbName)cmd:=exec.Command("bash","-c",dumpStr)cmd.Env=append(cmd.Env,"PGPASSWORD="+DbPassword)outfile,err:=os.Create(DbName+".gz")ifer

go - exec.Command 输出中的 "Bad value "

我的go语言程序打印“选项-n1的错误值,有效范围是从1到4294967295。”尝试使用以下代码片段进行ping操作时result,err:=exec.Command("ping","-n1","-w1",ip).Output()fmt.Printf("%s\n",result)在Win中从cmd执行时,即“ping-n1-w18.8.8.8”很好 最佳答案 您需要将-n和-w标志及其值分隔成单独的参数(您的shell已经这样做了):result,err:=exec.Command("ping","-n","1","-w","1"

mysql - 如何为 Golang 格式化 MySql CREATE USER 语句

我正在尝试从Golang程序创建一个MySql用户,但我无法找到SQL字符串的正确格式:_,err:=db.Query("CREATEUSER?@`%`IDENTIFIEDBY?",username)我尝试了很多变体:附上?在反引号、单引号、括号中,但没有任何作用。我要么得到sql:expected0arguments,got1(如果我添加一个或两个参数,则为2),或者我得到Error1064:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyn

go - 从 exec.Command 输出解析整数

我目前正在尝试从我的Go程序中运行一个命令,并从响应中解析一个整数。该命令返回如下输出:6fyb_src/ex1.fyb(1)wins!使用strings.Split和strings.TrimSpaces拆分行并删除空格效果很好。但是,在尝试将数字解析为整数时出现以下错误:panic:strconv.ParseInt:parsing"0\r1\r2\r3\r4\r5\r6":invalidsyntax但是将我尝试解析的字符串打印到终端会产生以下结果:6我不太确定从这里到哪里去。这个数字对我来说显然像一个整数。错误消息也没有用(至少对我而言)。有人有想法吗?编辑:我正在运行的代码out,

macos - 为什么这个 exec.Command 到另一个打开的 tty 不能正常工作

谁能帮我弄清楚我在这里做错了什么。我正在尝试执行在不同tty中运行的命令(在本例中打开vim),在本例中为/dev/ttys001,它在我终端的另一个选项卡中打开。运行下面的代码确实会在/dev/ttys001的窗口中呈现vim,但是,实际上从那个窗口输入到stdin并没有正确注册。非常感谢任何建议!packagemainimport("log""os""os/exec")funcmain(){tty,err:=os.OpenFile("/dev/ttys001",os.O_RDWR,os.ModePerm)iferr!=nil{log.Fatalln(err)}defertty.Cl

go - 从 golang 的 exec.Command 调用 ghostscrip 时出错

这是我的代码,extraCmds:=[]string{"-q","-dBATCH","-dNOPAUSE","-dSAFER","-sDEVICE=pcxmono",fmt.Sprintf("-r%v",dpi),//-r600“-sOutputFile=BBB%03d.pcx”,“WO-BC-CARE.pdf”,}s,_:=exec.Command("gs",extraCmds...).输出()结果:=字符串log.Println(结果)显示错误,2017/03/2109:24:48错误:/undefinedfilenamein--findlibfile--操作数栈:()执行栈:%i