本文整理汇总了Golang中github.com/gonuts/commander.Command.Stdout方法的典型用法代码示例。如果您正苦于以下问题:Golang Command.Stdout方法的具体用法?Golang Command.Stdout怎么用?Golang Command.Stdout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/gonuts/commander.Command
的用法示例。
在下文中一共展示了Command.Stdout方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: hwaf_run_cmd_pkg_add
func hwaf_run_cmd_pkg_add(cmd *commander.Command, args []string) {
var err error
n := "hwaf-pkg-" + cmd.Name()
pkguri := ""
pkgname := ""
switch len(args) {
default:
err = fmt.Errorf("%s: expects 0, 1 or 2 arguments (got %d: %v)", n, len(args), args)
handle_err(err)
case 2:
pkguri = args[0]
pkgname = args[1]
case 1:
pkguri = args[0]
pkgname = ""
case 0:
fname := cmd.Flag.Lookup("f").Value.Get().(string)
if fname != "" {
f, err := os.Open(fname)
if err != nil {
handle_err(err)
}
pkgs := [][]string{}
scnr := bufio.NewScanner(f)
for scnr.Scan() {
line := strings.Trim(scnr.Text(), " \n")
if strings.HasPrefix(line, "#") {
continue
}
tokens := strings.Split(line, " ")
pkg := []string{}
for _, tok := range tokens {
tok = strings.Trim(tok, " \t")
if tok != "" {
pkg = append(pkg, tok)
}
}
if len(pkg) > 0 {
pkgs = append(pkgs, pkg)
}
}
err = scnr.Err()
if err != nil && err != io.EOF {
handle_err(err)
}
verbose := cmd.Flag.Lookup("v").Value.Get().(bool)
for _, pkg := range pkgs {
args := []string{"pkg", "co"}
if verbose {
args = append(args, "-v=1")
}
switch len(pkg) {
case 1:
args = append(args, pkg[0])
case 2:
args = append(args, "-b="+pkg[1], pkg[0])
case 3:
args = append(args, "-b="+pkg[1], pkg[0], pkg[2])
default:
err = fmt.Errorf("%s: invalid number of pkg-co arguments (expected [1-3], got=%d) args=%v", n, len(pkg), pkg)
handle_err(err)
}
cmd := exec.Command("hwaf", args...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Stdin = os.Stdin
err = cmd.Run()
handle_err(err)
}
return
}
err = fmt.Errorf("%s: you need to give a package URL", n)
handle_err(err)
}
verbose := cmd.Flag.Lookup("v").Value.Get().(bool)
bname := cmd.Flag.Lookup("b").Value.Get().(string)
if verbose {
fmt.Printf("%s: checkout package [%s]...\n", n, pkguri)
}
cfg, err := g_ctx.LocalCfg()
handle_err(err)
pkgdir := "src"
if cfg.HasOption("hwaf-cfg", "pkgdir") {
pkgdir, err = cfg.String("hwaf-cfg", "pkgdir")
handle_err(err)
}
//fmt.Printf(">>> helper(pkguri=%q, pkgname=%q, pkgid=%q)...\n", pkguri, pkgname, bname)
helper, err := vcs.NewHelper(pkguri, pkgname, bname, pkgdir)
handle_err(err)
defer helper.Delete()
dir := filepath.Join(pkgdir, helper.PkgName)
//fmt.Printf(">>> dir=%q\n", dir)
//.........这里部分代码省略.........