首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >流浪者不会在ssh -c下运行nosetest

流浪者不会在ssh -c下运行nosetest
EN

Stack Overflow用户
提问于 2015-06-12 06:29:01
回答 2查看 168关注 0票数 0

我想写一个命令ssh到vagrant中,更改当前的工作目录,然后运行nosetests。

我在vagrant的文档中发现,这可以用vagrant ssh -c COMMAND来完成

http://docs.vagrantup.com/v2/cli/ssh.html

问题是,如果我通过-c或在SSH之后手动运行,我会得到不同的结果。

命令:

vagrant ssh -c 'pwd && cd core && pwd && nosetests -x --failed' web

输出:

代码语言:javascript
运行
复制
/web
/web/core

----------------------------------------------------------------------
Ran 0 tests in 4.784s

OK
Connection to 127.0.0.1 closed.

命令:

vagrant ssh web

/web$ pwd && cd core && pwd && nosetests -x --failed

输出

代码语言:javascript
运行
复制
/web                                                     
/web/core                                                
.........................................................
.........................................................
.........................................................
.........................................................
<snip>
...............................                          
---------------------------------------------------------

Ran 1399 tests in 180.325s

我不明白这有什么不同。

EN

回答 2

Stack Overflow用户

发布于 2015-09-24 23:00:42

第一个ssh会话不是终端会话。如果您尝试使用ssh -t而不是vagrant ssh -c,那么输出结果可能是相同的。类似以下命令的输出应该与您在本地获得的输出相当:

ssh -t <username>@<ip-of-vagrant-machine> -p <vagrant-vm-ssh-port> 'pwd && cd core && pwd && nosetests -x --failed'

vagrant机器上的用户名和密码的默认值都是" vagrant ",ssh要进入的ssh端口和IP是在配置带有vagrant up的vagrant机器时显示的。如果您喜欢使用公钥,ssh login vagrant也可以将您指向ssh公钥的位置。

根据您想要在VM上运行鼻子的位置,您必须调整上面的cd命令,看起来vagrant ssh包装器自动将您移动到vm上的/web

如果你只是担心测试结果是否会因为视觉差异而不同:不,不应该,原因只是在非交互式终端上以不同的方式显示结果。

票数 1
EN

Stack Overflow用户

发布于 2015-10-03 05:49:29

我能够通过运行以下命令来解决这个问题:

vagrant ssh -c 'cd core && nosetests -x --failed --exe' web

我不知道为什么这对我的盒子有影响。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30792519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档