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


Golang Session.Setenv方法代码示例

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


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

示例1: prepareCommand

func prepareCommand(session *ssh.Session, cmd *command) error {
	for _, env := range cmd.Env {
		variable := strings.Split(env, "=")
		if len(variable) != 2 {
			continue
		}

		if err := session.Setenv(variable[0], variable[1]); err != nil {
			return err
		}
	}

	if cmd.Stdout == nil {
		session.Stdout = &cmd.stdout
	} else {
		session.Stdout = cmd.Stdout
	}

	if cmd.Stdin != nil {
		session.Stdin = cmd.Stdin

	}
	if cmd.Stderr == nil {
		session.Stderr = &cmd.stderr
	} else {
		session.Stderr = cmd.Stderr
	}
	return nil
}
开发者ID:edillmann,项目名称:go-zfs,代码行数:29,代码来源:sshutils.go

示例2: configureSessionEnv

func configureSessionEnv(session *ssh.Session, env map[string]string) error {
	fmt.Println("Setting environment variables")

	for key, value := range env {
		if err := session.Setenv(key, value); err != nil {
			fmt.Printf("Unable to set environment %s = %s\n", key, value)
			return err
		}
	}

	fmt.Println("Done setting environment variables")
	return nil
}
开发者ID:abhigupta912,项目名称:learngo,代码行数:13,代码来源:executor.go

示例3: prepareCommand

func (client *clientSSH) prepareCommand(session *ssh.Session, cmd *sshCommand) error {
	for _, env := range cmd.env {
		variable := strings.Split(env, "=")
		if len(variable) != 2 {
			continue
		}

		if err := session.Setenv(variable[0], variable[1]); err != nil {
			return err
		}
	}

	return nil
}
开发者ID:ccirello,项目名称:gochatbot,代码行数:14,代码来源:ssh.go

示例4: prepareCommand

func (client *SSHClient) prepareCommand(session *ssh.Session, cmd *SSHCommand) error {
	for _, env := range cmd.Env {
		variable := strings.Split(env, "=")
		if len(variable) != 2 {
			continue

		}

		if err := session.Setenv(variable[0], variable[1]); err != nil {
			return err

		}

	}

	if cmd.Stdin != nil {
		stdin, err := session.StdinPipe()
		if err != nil {
			return fmt.Errorf("Unable to setup stdin for session: %v", err)

		}
		go io.Copy(stdin, cmd.Stdin)

	}

	if cmd.Stdout != nil {
		stdout, err := session.StdoutPipe()
		if err != nil {
			return fmt.Errorf("Unable to setup stdout for session: %v", err)

		}
		go io.Copy(cmd.Stdout, stdout)

	}

	if cmd.Stderr != nil {
		stderr, err := session.StderrPipe()
		if err != nil {
			return fmt.Errorf("Unable to setup stderr for session: %v", err)

		}
		go io.Copy(cmd.Stderr, stderr)

	}

	return nil

}
开发者ID:looztra,项目名称:gorchestrator,代码行数:48,代码来源:ssh_plugin.go

示例5:

			It("includes a default environment excluding PATH", func() {
				result, err := session.Output("/usr/bin/env")
				Expect(err).NotTo(HaveOccurred())

				Expect(result).To(ContainSubstring(fmt.Sprintf("PATH=/bin:/usr/bin")))
				Expect(result).To(ContainSubstring(fmt.Sprintf("LANG=en_US.UTF8")))
				Expect(result).To(ContainSubstring(fmt.Sprintf("TEST=FOO")))
				Expect(result).To(ContainSubstring(fmt.Sprintf("HOME=%s", os.Getenv("HOME"))))
				Expect(result).To(ContainSubstring(fmt.Sprintf("USER=%s", os.Getenv("USER"))))
			})
		})

		Context("when environment variables are requested", func() {
			Context("before starting the command", func() {
				It("runs the command with the specified environment", func() {
					err := session.Setenv("ENV1", "value1")
					Expect(err).NotTo(HaveOccurred())

					err = session.Setenv("ENV2", "value2")
					Expect(err).NotTo(HaveOccurred())

					result, err := session.Output("/usr/bin/env")
					Expect(err).NotTo(HaveOccurred())

					Expect(result).To(ContainSubstring("ENV1=value1"))
					Expect(result).To(ContainSubstring("ENV2=value2"))
				})

				It("uses the value last specified", func() {
					err := session.Setenv("ENV1", "original")
					Expect(err).NotTo(HaveOccurred())
开发者ID:sykesm,项目名称:diego-ssh,代码行数:31,代码来源:session_channel_handler_test.go


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