Linux 未找到ssh环境变量bash命令

Linux 未找到ssh环境变量bash命令,linux,variables,ssh,Linux,Variables,Ssh,我尝试从ssh非交互式的ssh连接启动一些命令。我使用ant sshexec连接来实现这一点 为了设置所有内容,我使用了本文: 我使用~/.ssh/environment。 为了做到这一点,我在sshd_config中将PermitUserEnvironment设置为“yes”,然后重新启动sshd 在my.ssh/environment中,我有以下内容: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/us

我尝试从ssh非交互式的ssh连接启动一些命令。我使用ant sshexec连接来实现这一点

为了设置所有内容,我使用了本文:

我使用~/.ssh/environment。 为了做到这一点,我在sshd_config中将PermitUserEnvironment设置为“yes”,然后重新启动sshd

在my.ssh/environment中,我有以下内容:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/ubuntu/java/jdk1.6.0_27/bin

JAVA_HOME=/home/ubuntu/java/jdk1.6.0_27

#PATH=/home/ubuntu/java/jdk1.6.0_27/bin:$PATH

#PLAY_HOME=/home/ubuntu/play
当尝试使用非交互式连接进行连接时出现错误:

 [sshexec] Could not execute the java executable, please make sure the JAVA_HOME environment variable is set properly (the java executable should reside at JAVA_HOME/bin/java). 

但是我将java添加到路径中。

您对路径使用了多个环境变量。但不要从命令导出我看到的东西

你应该那样做

export PATH="A"
export PATH="$PATH:B"
export PATH="$PATH:C"
你也可以从那里得到这种类型的帮助。 因此,请将其发布到unix


希望能有所帮助。

sshd(8)的手册页说明了
~/.ssh/environment

    It can only contain empty lines, comment lines (that start with
    ‘#’), and assignment lines of the form name=value.
也就是说,它根本不是一个shell脚本。您有双引号、变量展开和别名定义。这些都行不通。试试这个:

PATH=/home/ubuntu/java/jdk1.6.0_27/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
JAVA_HOME=/home/ubuntu/java/jdk1.6.0_27
PLAY_HOME=/home/ubuntu/play
还要确保
~/.ssh/environment
上的权限如手册页中所述-对文件没有组或其他写入权限

如果您担心在坏环境下将自己锁定在帐户之外,请先登录主机并运行以下测试命令进行测试:

ssh localhost 'echo $JAVA_HOME'

您可以确保环境变量按预期设置,如果出现问题,您仍然登录到主机,允许您撤消更改。

如果我将export PATH=“/home/ubuntu/java/jdk1.6.0_27/bin:$PATH”然后我有一个例外:它找不到Java。-1:
~/.ssh/environment
不是shell脚本。如果我这样做,我甚至不能以正确的方式登录到ssh。它通过输入告诉我:所有变量都不可用。甚至不可能执行命令,如:ls或cd。希望我打开了几个ssh连接,并将其回滚。这里似乎也不允许重复变量。比如路径=。。。路径=。。但是只使用一条路径-至少在编辑之后可以使用常规命令。@ses:注意,在我的回答中,我没有重复的路径。您正在添加什么副本,并且仍然希望
$PATH
在此文件中展开吗?@ses:我已展开我的答案。这有帮助吗?这个ssh本地主机“echo$JAVA\u HOME”似乎可以工作-它显示了我的路径。。那么我不明白是什么问题。。至少与路径相关的问题已修复。。。试图理解它为什么抱怨。。