windows - Vagrant 如何通过 SSH 从 Windows 命令获取退出代码?
问题描述
我正在使用带有 Windows 7 的 Vagrant VM 进行自动构建过程。
如果我直接通过 SSH 进入 Windows,我可以看到%ERRORLEVEL%
正在设置:
$ vagrant ssh
> false
> echo %ERRORLEVEL%
1
但是,如果我直接向 Windows 发送 SSH 命令,Vagrant 不会使用退出代码:
$ vagrant ssh -- cmd.exe /C 'false'
$ echo $?
0
有没有办法将%ERRORLEVEL%
通过 Vagrant SSH 执行的命令中的 Windows 变量传递回我的主机外壳?我希望该解决方案不涉及将变量重定向到文件中。
解决方案
如果你尝试会发生什么:
vagrant ssh -- cmd.exe /C 退出 1
只是认为 cmd.exe /c 正在打开一个新的命令提示符,而 false 就在其中,而不是像 exit 那样返回任何外部的值!
推荐阅读
- rasa-nlu - 使用 rasa NLU 将用户请求的自定义操作提取为实体
- reactjs - ReactJS 上下文 > 从状态函数中引用最新状态值
- java - 使用 Java-Large 文件查询 JSON 文件
- reactjs - 如何通过reactjs在表格中正确显示json结果
- javascript - 使用 JS 修改表单标签文本,仅使用“for”属性作为选择器
- c# - Moq 出现 Null 引用错误并返回 IList
- c++ - Windows 10 上的 Cmake 错误“缺少:CURL_LIBRARY CURL_INCLUDE_DIR”
- docker - 致命:[xxxx]:失败!=> {"msg": "缺少 sudo 密码"}
- jenkins - 在 Jenkinsfile 中使用 withCredentials 时出错
- spring - spring boot:maven命令下载所有依赖