Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用多个参数运行Linux命令_Linux_Go - Fatal编程技术网

使用多个参数运行Linux命令

使用多个参数运行Linux命令,linux,go,Linux,Go,经过一些挖掘后,我可以从go运行Linux命令,如下所示: func main() { lsCmd := exec.Command("ls") lsOut, err := lsCmd.Output() if err != nil { panic(err) } fmt.Println(">ls") fmt.Println(string(lsOut)) } 我要做的是,在远程计算机中运行以下命令: ssh -p $somepor

经过一些挖掘后,我可以从go运行Linux命令,如下所示:

func main() {
    lsCmd := exec.Command("ls")
    lsOut, err := lsCmd.Output()
    if err != nil {
        panic(err)
    }
    fmt.Println(">ls")
    fmt.Println(string(lsOut))
}
我要做的是,在远程计算机中运行以下命令:

ssh -p $someport $someuser@$someip 'ls'
我可以在我的终端上成功地执行此操作,但当我尝试在Go中运行它时,会出现以下错误:

panic: exec: "ssh -p $someport $someuser@$someip 'ls'": executable file not found in $PATH
更新:为了方便起见,我更新了问题

根据关于包的文档,程序名和参数是
命令
方法的不同参数。 你应该这样做:

exec.Command("ssh", "-p port", "user@ip", "'ls'")
如果您需要更详细的说明,也可以查看软件包。

根据关于软件包的文档,程序名和参数是
命令
方法的不同参数。 你应该这样做:

exec.Command("ssh", "-p port", "user@ip", "'ls'")

如果您需要更详细的说明,还可以查看软件包。

如果您希望在远程计算机上运行多个命令,下面的技巧可能会帮助您实现这一点

Ssh username@ip < EOf

ls -I

Pwd

Uname

Eof
Sshusername@ip

请注意,它不会传递任何特殊字符,如
等。

如果您想在远程机器上运行多个命令,下面的技巧可能会帮助您实现这一点

Ssh username@ip < EOf

ls -I

Pwd

Uname

Eof
Sshusername@ip
请注意,它不会传递任何特殊字符,如