使用单个命令通过ssh找不到命令,在连接到终端后找到

Mar*_*ski 23 linux ssh

可能重复:
为什么SSH远程命令在手动运行时会获得更少的环境变量?

如果我把命令

ssh user @ $ IP ant

然后我收到了

bash:ant:命令未找到

但是当我登录时

ssh用户@ $ IP

并把

蚂蚁

然后工作正常.

Ant安装在远程和本地计算机上.问题出在哪儿?

我试图在谷歌找到解决方案,什么也没发现.

在此先感谢您的帮助!

- 编辑 -

我需要调用一些bash脚本,不想将所有路径更改为完整路径.

Chr*_*aro 16

默认情况下,通过ssh连接时不会加载配置文件.要启用此行为,请在/ etc/ssh/sshd_config中设置以下选项:

PermitUserEnvironment yes
Run Code Online (Sandbox Code Playgroud)

之后重启ssh

/etc/init.d/ssh restart
Run Code Online (Sandbox Code Playgroud)

  • `PermitUserEnvironment`不控制用户的配置文件是否在服务器上运行.它仅控制某些服务器端配置文件中的环境设置是否受到尊重.这与OP问题的常见原因无关. (2认同)

Ben*_*enj 12

指定绝对路径ant,如果我没记错,运行远程ssh命令时您的配置文件无法运行.