当前位置: 首页 > 面试题库 >

使用多个参数运行Linux命令

祁柏
2023-03-14
问题内容

经过一些挖掘后,我可以这样运行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方法的不同参数。您应该这样做:

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

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



 类似资料:
  • 问题内容: 我试图在一行中合并多个Linux命令以执行部署操作。例如 问题答案: 如果仅在上一个命令成功的情况下才执行每个命令,请使用运算符将它们组合: 如果其中一个命令失败,则将不执行其后的所有其他命令。 如果要执行所有命令而不管先前的命令是否失败,请使用分号将它们分开: 在您的情况下,我想您希望第一种情况下,下一条命令的执行取决于上一条命令的成功。 您还可以将所有命令放在脚本中,然后执行该脚本

  • 本文向大家介绍Linux rpm 命令参数使用详解,包括了Linux rpm 命令参数使用详解的使用技巧和注意事项,需要的朋友参考一下 rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。 常用命令组合:  -ivh:安装显示安装进度--install--verb

  • 问题内容: 我的程序正在获取命令行参数。使用Ant时如何通过? 问题答案: 扩展了Richard Cook的答案。 这是运行任何程序(包括但不限于Java程序)的任务: 这是从文件运行Java程序的任务: 您可以像这样从命令行调用: 确保使用语法;如果运行此命令: 然后将尝试运行目标和。

  • 我有一个java和groovy类,由gradle Task运行。我已经设法使它工作,但我不喜欢在命令行中传递参数的方式。下面是我当前通过命令行执行的方法: my build。gradle代码采用这些参数如下所示: 我想知道有没有一种方法可以更好地传递参数,比如: 以及如何在我的java类中使用它们。

  • 本文向大家介绍Linux rpm命令参数使用大全(经典),包括了Linux rpm命令参数使用大全(经典)的使用技巧和注意事项,需要的朋友参考一下 RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由

  • 问题内容: 我的问题是,我正在通过终端运行一些adb命令。我写了一个工具;这将使事情变得容易。回到问题所在,为了使命令运行,我必须在终端上输入“密码”。那么,我该如何做才能使“密码”部分出现在JOptionPane.showInputDialog框上? 这是我到目前为止的内容: 问题答案: 您可以“读取”过程输入,并在“检测到”密码提示时显示,并要求用户输入密码。 在开始该过程之前,您“可以”提示