我正在尝试通过本地服务器上的ssh命令在远程Linux服务器上执行命令,如下所示:
ssh myremoteserver 'type ttisql'
其中ttisql是远程机器路径上的一个可执行文件。
运行结果为:
bash: line 0: type: ttisql: not found
当我首先连接然后执行以下命令时:
ssh myremoteserver 并输入以下命令:
[myuser@myremoteserver~]$: type ttisql
我得到了预期的ttisql exe路径。
奇怪的是,在我的beta环境中执行第一个命令时,它按预期工作并返回exe的路径。 在beta场景中,机器A连接到远程机器B,但两台机器都在现场,并且ssh命令快速连接到远程机器。
问题出现在我们的生产环境中,当机器A在本地,机器B在外部,并且ssh命令需要一秒钟或两秒钟才能连接时。
我唯一看到的区别是production ssh连接所需的时间。 远程系统上的路径正确,因为在初始连接后输入命令可以正常工作。
有人可以帮助我理解为什么这个简单的命令会在一个环境中工作而在另一个环境中不起作用吗? 问题是否可能与通过ssh连接所需的时间有关?
ssh myremoteserver 'type ttisql'
其中ttisql是远程机器路径上的一个可执行文件。
运行结果为:
bash: line 0: type: ttisql: not found
当我首先连接然后执行以下命令时:
ssh myremoteserver 并输入以下命令:
[myuser@myremoteserver~]$: type ttisql
我得到了预期的ttisql exe路径。
奇怪的是,在我的beta环境中执行第一个命令时,它按预期工作并返回exe的路径。 在beta场景中,机器A连接到远程机器B,但两台机器都在现场,并且ssh命令快速连接到远程机器。
问题出现在我们的生产环境中,当机器A在本地,机器B在外部,并且ssh命令需要一秒钟或两秒钟才能连接时。
我唯一看到的区别是production ssh连接所需的时间。 远程系统上的路径正确,因为在初始连接后输入命令可以正常工作。
有人可以帮助我理解为什么这个简单的命令会在一个环境中工作而在另一个环境中不起作用吗? 问题是否可能与通过ssh连接所需的时间有关?
ssh remote echo $PATH
和ssh remote 'echo $PATH'
之间的区别。那些反引号起了关键作用。 - fenkerbb