管道输入命令行到bash解释器
发布时间:2020-12-15 21:07:10 所属栏目:安全 来源:网络整理
导读:我正在用一个解释器编写一个小程序,我想将我的 shell无法识别的任何命令用于bash,并打印输出,就好像写在普通终端中一样. func RunExtern(c *shell.Cmd) (string,os.Error) { cmd := exec.Command(c.Cmd(),c.Args()...) out,err := cmd.Output() return strin
我正在用一个解释器编写一个小程序,我想将我的
shell无法识别的任何命令用于bash,并打印输出,就好像写在普通终端中一样.
func RunExtern(c *shell.Cmd) (string,os.Error) { cmd := exec.Command(c.Cmd(),c.Args()...) out,err := cmd.Output() return string(out),err } 这是我到目前为止所写的内容,但它只用它的args执行一个程序,我想将整行发送给bash并获取输出,任何想法如何做? 解决方法
例如,要列出列中的目录条目,
package main import ( "exec" "fmt" "os" ) func BashExec(argv []string) (string,os.Error) { cmdarg := "" for _,arg := range argv { cmdarg += `"` + arg + `" ` } cmd := exec.Command("bash","-c",cmdarg) out,err := cmd.Output() return string(out),err } func main() { out,err := BashExec([]string{`ls`,`-C`}) if err != nil { fmt.Println(err) } fmt.Println(out) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |