java - 执行远程 ssh 命令“which java”(JSch java)
问题描述
我正在尝试which java
通过 ssh (JSch java) 远程执行命令。
我有一个远程主机,当我which java
直接在 shell 中执行命令时,输出类似于“/ltm/rt/oracle/java/jdk1.8/bin/java”,这是正确的,但是当我尝试执行相同的命令时通过JSch java远程服务器的输出为空,我有以下错误:which: no java in (/usr/local/bin:/usr/bin)
我用于通过 ssh 进行身份验证的用户与我用于直接访问机器的用户相同。
我正在寻求一些想法来绕过这个问题。谢谢。
解决方案
启用伪终端模式命令正确执行。
推荐阅读
- python-3.x - Tensorflow 中的 polygamma 函数要复杂吗?
- python - Selenium 页面加载超过预期的超时时间
- tmux - 如何在源文件本身中获取源文件的当前路径
- java - 如何创建自定义通知 (Android)
- numpy - 映射二维 numpy 数组的对角线
- mysql - 如何在mysql中查询文件夹1和2而不是任何其他文件夹的项目?
- python - 使用单次 INSERT/单次触发触发器在 SQL Server 表中插入多行
- visual-studio - .NET 5 中的 Microsoft.VisualStudio.TestTools.UnitTesting 支持
- python - RuntimeError:CUDA 错误:设备序号无效
- vue.js - Heroku 部署在没有本地主机运行的情况下无法工作