在vagrant ssh之后运行远程命令

在vagrant ssh之后运行远程命令,ssh,vagrant,Ssh,Vagrant,vagrant ssh——额外的ssh参数应该允许将额外的参数传递给ssh vagrant-ssh--t'cd/var/www'应该将ssh转换为vagrant,并将目录更改为/var/www,但不会。相反,它又回来了 ssh:无法解析主机名ls:nodename或提供的servname,或未知 我错过了什么?这对我来说很有用: vagrant ssh -- -t 'cd /var/www; /bin/bash' 要远程运行对漫游框的命令,请执行以下操作: vagrant ssh -c "CO

vagrant ssh——额外的ssh参数应该允许将额外的参数传递给ssh

vagrant-ssh--t'cd/var/www'
应该将ssh转换为vagrant,并将目录更改为
/var/www
,但不会。相反,它又回来了

ssh:无法解析主机名ls:nodename或提供的servname,或未知

我错过了什么?

这对我来说很有用:

vagrant ssh -- -t 'cd /var/www; /bin/bash'

要远程运行对漫游框的命令,请执行以下操作:

vagrant ssh -c "COMMAND; COMMAND1"

如果需要,请尝试
vagrant ssh--help

Aha!明亮的启动bash,使其不会立即退出。非常感谢。您还可以执行
vagrant ssh-c'echo hello/bin/bash'
@mpen-使用vagrant-c对我不起作用。但是这个答案是有效的。@progonkpa有关--“如果在命令行上找到一个--(两个连字符),则其后的任何参数都将直接传递到ssh可执行文件中。这允许您传递任意命令,以执行诸如反向隧道到ssh程序中之类的操作。”一般来说,这对bash是有效的,而不仅仅是对vagrant。在我的例子中,这个答案不起作用,它正在执行
vagrant ssh-c“bundle exec rake some_task”
。当命令包含
exec
时,它似乎失败了,Emyl的回答工作正常。这允许您在执行命令后留在计算机上。