当前位置: 首页>>代码示例>>Golang>>正文


Golang Cmd.Path方法代码示例

本文整理汇总了Golang中os/exec.Cmd.Path方法的典型用法代码示例。如果您正苦于以下问题:Golang Cmd.Path方法的具体用法?Golang Cmd.Path怎么用?Golang Cmd.Path使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在os/exec.Cmd的用法示例。


在下文中一共展示了Cmd.Path方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: pluginInfo

func pluginInfo(name string) (ver, short, long string) {
	if os.Getenv("HKPLUGINMODE") == "info" {
		return "", "plugin exec loop", "plugin exec loop"
	}
	short = "no description"
	long = name + ": unknown description"
	var cmd exec.Cmd
	cmd.Args = []string{name}
	cmd.Path = lookupPlugin(name)
	cmd.Env = append([]string{"HKPLUGINMODE=info"}, os.Environ()...)
	buf, err := cmd.Output()
	if err != nil {
		return
	}
	info := string(buf)
	if !strings.HasPrefix(info, name+" ") {
		return
	}
	info = info[len(name)+1:]
	i := strings.Index(info, ": ")
	if i < 0 {
		return
	}
	ver, info = info[:i], info[i+2:]
	i = strings.Index(info, "\n\n")
	if i < 0 || 50 < i || strings.Contains(info[:i], "\n") {
		return
	}
	short, long = info[:i], info[i+2:]
	return ver, strings.TrimSpace(short), strings.TrimSpace(long)
}
开发者ID:shaunduncan,项目名称:hk,代码行数:31,代码来源:plugin.go

示例2: add

// stem words and add them to vocabulary
func (vocabulary Dictionary) add(words []string, mode string) (wordIDs []int) {
	var lemma string
	wordIDs = make([]int, len(words))
	for idx, word := range words {
		if _, ok := vocabulary.Vtoi[word]; ok {
			wordIDs[idx] = vocabulary.Vtoi[word]
		} else {
			python := new(exec.Cmd)
			args := []string{"lemmatizer.py", "--vocabulary"}
			args = append(args, word)
			args = append(args, "--pos")
			args = append(args, mode)
			python.Args = args
			//       python.Path = "/home/lea/Code/Python/lemmatizer.py"
			python.Path = "/local/lea/thesis/python/lemmatizer.py"
			out, _ := python.Output()
			lemma = strings.Trim(string(out), "\n")
			if _, ok := vocabulary.Vtoi[lemma]; !ok {
				vocabulary.VList[vocabIdx] = lemma
				vocabulary.Vtoi[lemma] = vocabIdx
				vocabulary.Itov[vocabIdx] = lemma
				vocabulary.POSList[vocabIdx] = mode
				vocabIdx++
			}
			wordIDs[idx] = vocabulary.Vtoi[lemma]
		}
	}
	return wordIDs
}
开发者ID:ColiLea,项目名称:ScriptModeling,代码行数:30,代码来源:createVocabulay.go

示例3: NewExecutablePlugin

// Initialize a new ExecutablePlugin from path to executable and daemon mode (true or false)
func NewExecutablePlugin(a Arg, path string) (*ExecutablePlugin, error) {
	jsonArgs, err := json.Marshal(a)
	if err != nil {
		return nil, err
	}
	// Init the cmd
	cmd := new(exec.Cmd)
	cmd.Path = path
	cmd.Args = []string{path, string(jsonArgs)}
	// Link the stdout for response reading
	stdout, err := cmd.StdoutPipe()
	if err != nil {
		return nil, err
	}
	stderr, err := cmd.StderrPipe()
	if err != nil {
		return nil, err
	}
	// Init the ExecutablePlugin and return
	ePlugin := new(ExecutablePlugin)
	ePlugin.cmd = cmd
	ePlugin.stdout = stdout
	ePlugin.args = a
	ePlugin.stderr = stderr

	return ePlugin, nil
}
开发者ID:linearregression,项目名称:snap,代码行数:28,代码来源:execution.go

示例4: execvp

// Run a command, waiting for it to finish. Will first run CMD's path;
// failing that, will lookup the path and attempt to do the same.
func execvp(cmd *exec.Cmd) error {
	if err := cmd.Start(); err == nil {

		// Wait for command to finish
		return cmd.Wait()

	} else {

		// Didn't work? Search for the executable's path
		path, err := exec.LookPath(cmd.Path)
		if err != nil {
			return err
		}

		// Reset our path
		cmd.Path = path

		// Try again with the executable found in $PATH
		err = cmd.Start()
		if err != nil {
			return err
		}

		return cmd.Wait()
	}
}
开发者ID:postfix,项目名称:go-coreutils,代码行数:28,代码来源:env.go

示例5: pluginInfo

func pluginInfo(name string) (ver, short, long string) {
	if os.Getenv("HKPLUGINMODE") == "info" {
		return "", "[plugin exec loop]", "[plugin exec loop]\n"
	}
	var cmd exec.Cmd
	cmd.Args = []string{name}
	cmd.Path = lookupPlugin(name)
	cmd.Env = append([]string{"HKPLUGINMODE=info"}, os.Environ()...)
	buf, err := cmd.Output()
	if err != nil {
		fmt.Fprintln(os.Stderr, err)
		return "", "[unknown description]", "[unknown description]\n"
	}
	info := string(buf)
	if !strings.HasPrefix(info, name+" ") {
		return "", "[unknown description]", "[unknown description]\n"
	}
	info = info[len(name)+1:]
	i := strings.Index(info, ": ")
	ver, info = info[:i], info[i+2:]
	i = strings.Index(info, "\n\n")
	short, long = info[:i], info[i+2:]
	if len(short) > 50 || strings.Contains(short, "\n") {
		return "", "[unknown description]", "[unknown description]\n"
	}
	return ver, short, long
}
开发者ID:uriel,项目名称:hk,代码行数:27,代码来源:plugin.go

示例6: main

func main() {
	flag.Usage = func() {
		fmt.Fprintf(os.Stderr, "%s", Help)
		os.Exit(1)
	}
	flag.Parse()

	if *version {
		fmt.Printf("%s", Version)
		os.Exit(0)
	}

	if *unset != "" {
		os.Unsetenv(*unset)
	}

	cmd := new(exec.Cmd)
	cmd.Env = env

	// Check for "-" as an argument, because it means the same as "-i"
	if flag.Arg(0) == "-" {
		cmd.Env = make([]string, 0)
	}

	for i, arg := range flag.Args() {
		if strings.Index(arg, delim) > 0 {
			cmd.Env = append(cmd.Env, arg)
		} else if arg != "-" {
			if *nullEol {
				fatal.Fatalln("cannot specify --null (-0) with command")
			}

			cmd.Path = arg

			cmd.Args = append(cmd.Args, flag.Args()[i:]...)
			cmd.Stdin = os.Stdin
			cmd.Stdout = os.Stdout
			cmd.Stderr = os.Stderr

			err := execvp(cmd)
			if err != nil {
				fatal.Fatalln(err)
			}
			return
		}

		i++
	}

	eol := '\n'
	if *nullEol {
		eol = '\x00'
	}

	for _, e := range env {
		fmt.Printf("%s%c", e, eol)
	}

	return
}
开发者ID:postfix,项目名称:go-coreutils,代码行数:60,代码来源:env.go

示例7: RunWithEnvAndWd

func RunWithEnvAndWd(command string, args []string, env []string, wd string) (proc *exec.Cmd, err error) {
	//log.Println(command, args)
	//hho := exec.PassThrough
	args = prepend(args, command)
	env = mergeEnv(os.Environ(), env)

	binpath, err := findCmd(findEnv(env, "PATH"), command)
	if err != nil {
		return nil, err
	}

	cmd := new(exec.Cmd)
	cmd.Path = binpath
	cmd.Args = args
	cmd.Env = env
	cmd.Dir = wd
	cmd.Stderr = os.Stderr
	cmd.Stdout = os.Stdout

	err = cmd.Start()
	if err != nil {
		log.Print("Error running command ", command, ": ", err, "\n")
		return nil, err
	}
	return cmd, nil
}
开发者ID:crazy2be,项目名称:osutil,代码行数:26,代码来源:osutil.go

示例8: execute

func execute(path string, vcs string, vcs_verb string) {
	if vcs_verb == "" {
		return
	}
	a := func(wd string, vcs string, vcs_verb string, seq bool) {
		msg := "=== @{!" + vcs_color[vcs] + "} "
		msg += filepath.Base(path)
		msg += "@| (@!" + vcs + "@|) ==="
		var cmd exec.Cmd
		cmd.Dir = wd
		cmd.Args = strings.Split(vcs_verb, " ")
		path, err := exec.LookPath(cmd.Args[0])
		if err != nil {
			path = cmd.Args[0]
		}
		cmd.Path = path
		out, err := cmd.CombinedOutput()
		if err != nil {
			br := color.Colorize("!r")
			rst := color.Colorize("|")
			fmt.Printf(color.Sprint(msg)+"\n%s\n%s%s%s\n\n", out, br, err, rst)
		} else {
			fmt.Printf(color.Sprint(msg)+"\n%s\n", out)
		}
		if !seq {
			quit <- 0
		}
	}
	if *sequential {
		a(path, vcs, vcs_verb, *sequential)
	} else {
		count += 1
		go a(path, vcs, vcs_verb, *sequential)
	}
}
开发者ID:tkruse,项目名称:vcstool,代码行数:35,代码来源:vcstool.go

示例9: PlayFile

func (mp *CustomMediaPlayer) PlayFile(file string) error {
	var command exec.Cmd
	command.Path = mp.Executable
	mp.Args[len(mp.Args)-1] = file
	command.Args = mp.Args

	command.Start()
	return nil
}
开发者ID:chrigrah,项目名称:nextplz,代码行数:9,代码来源:generic_mp.go

示例10: resolve

func (r *RealCommandRunner) resolve(cmd *exec.Cmd) *exec.Cmd {
	originalPath := cmd.Path

	path, err := exec.LookPath(cmd.Path)
	if err != nil {
		path = cmd.Path
	}

	cmd.Path = path

	cmd.Args = append([]string{originalPath}, cmd.Args...)

	return cmd
}
开发者ID:WIZARD-CXY,项目名称:golang-devops-stuff,代码行数:14,代码来源:command_runner.go

示例11: CreateCovarianceMatrix

func (vocabulary *Vocabulary) CreateCovarianceMatrix() {
	vocabulary.Covariances = new(CovarianceStruct)
	args := []string{"wnCovarianceSvsH.py", "--vocabulary"}
	args = append(args, vocabulary.Dictionary.VList...)
	args = append(args, "--pos")
	args = append(args, vocabulary.Dictionary.POSList...)
	cmd := new(exec.Cmd)
	cmd.Args = args
	//   cmd.Path = "/home/lea/Code/Python/wnCovariance.py"
	cmd.Path = "/local/lea/thesis/python/wnCovarianceSvsH.py"
	out, err := cmd.Output()
	if err != nil {
		fmt.Println(err)
	}
	vocabulary.parse(string(out))
}
开发者ID:ColiLea,项目名称:ScriptModeling,代码行数:16,代码来源:createVocabulay.go

示例12: main

func main() {
	args := parseFlags(os.Args)

	if unset != "" {
		os.Unsetenv(unset)
	}

	cmd := exec.Cmd{Env: env}

	// Check for "-" as an argument, because it means the same as "-i"
	if flag.Arg(0) == "-" {
		cmd.Env = []string{}
	}

	for i, arg := range args {
		if strings.Index(arg, "=") > 0 {
			cmd.Env = append(cmd.Env, arg)
		} else if arg != "-" {
			if nullEol {
				fatal.Fatalln("cannot specify --null (-0) with command")
			}

			cmd.Path = arg

			cmd.Args = append(cmd.Args, args[i:]...)
			cmd.Stdin = os.Stdin
			cmd.Stdout = os.Stdout
			cmd.Stderr = os.Stderr

			if err := execvp(cmd); err != nil {
				fatal.Fatalln(err)
			}
			return
		}
	}

	eol := '\n'
	if nullEol {
		eol = '\x00'
	}

	for _, e := range env {
		fmt.Printf("%s%c", e, eol)
	}

	return
}
开发者ID:patrickToca,项目名称:go-coreutils,代码行数:47,代码来源:env.go

示例13: fetchMailqCount

func (p *plugin) fetchMailqCount() (count uint64, err error) {

	var path string
	if p.path != "" {
		path = p.path
	} else {
		path, err = exec.LookPath(p.mailq.command)
		if err != nil {
			return
		}
	}

	cmd := exec.Cmd{
		Path: path,
		Args: append([]string{p.mailq.command}, p.mailq.args...),
	}

	if p.path != "" {
		cmd.Path = p.path
	}

	stdout, err := cmd.StdoutPipe()
	if err != nil {
		return
	}

	err = cmd.Start()
	if err != nil {
		return
	}

	count, err = p.mailq.parse(stdout)
	if err != nil {
		cmd.Wait()
		return
	}

	err = cmd.Wait()
	return
}
开发者ID:tjinjin,项目名称:mackerel-agent-plugins,代码行数:40,代码来源:main.go

示例14: cmd_to_channel

func cmd_to_channel(argv []string, name string, out chan string) {
	var cmd exec.Cmd
	cmd.Path = argv[0]
	cmd.Args = argv
	log.Printf("starting '%s'\n", name)

	stdout, err := cmd.StdoutPipe()
	if err != nil {
		log.Println(err)
	}

	stderr, err := cmd.StderrPipe()
	if err != nil {
		log.Println(err)
	}

	if err := cmd.Start(); err != nil {
		log.Fatal(err)
	}

	mux_readers_into_channel(stdout, stderr, out)
	cmd.Wait()
	log.Printf("'%s' finished\n", name)
}
开发者ID:gavioto,项目名称:postgres_cluster,代码行数:24,代码来源:daemons.go

示例15: execSend

// Pipe mail to an external command (E.g. sendmail -t)
func execSend(payload []byte, execCmd string) {
	sendmail := new(exec.Cmd)
	sendmail.Args = strings.Fields(execCmd)
	sendmail.Path = sendmail.Args[0]

	stdin, err := sendmail.StdinPipe()
	if err != nil {
		panic(err)
	}
	defer stdin.Close()
	sendmail.Stdout = os.Stdout
	sendmail.Stderr = os.Stderr
	err = sendmail.Start()
	if err != nil {
		panic(err)
	}
	stdin.Write(payload)
	stdin.Close()
	err = sendmail.Wait()
	if err != nil {
		//Warn.Printf("%s: %s", execCmd, err)
		panic(err)
	}
}
开发者ID:crooks,项目名称:yamn,代码行数:25,代码来源:mail.go


注:本文中的os/exec.Cmd.Path方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。