ssh运行命令会给本地运行不同的结果

时间:2020-08-20 09:44:40

标签: python bash ssh zsh

我有一个使用Popen为Mac上的模拟器创建appium服务器的python脚本

self.appium_process = subprocess.Popen(["/usr/local/bin/appium", "-a", self.ip, "--nodeconfig", self.node_file_path, "--relaxed-security", "-p", str(appium_port), "-dc", default_capabilities], stdout=log_file, stderr=subprocess.STDOUT)

我创建了一个调用python脚本的bash shell脚本。当我从本地框中运行脚本时,它可以工作,并且appium日志显示连接。 但是我需要通过ssh运行此远程。因此,我使用以下代码来调用脚本:

ssh 10.18.66.99 automation_fw/config/testscript.sh

但是,这总是以显示以下内容的日志结尾:

env: node: No such file or directory

我检查了一下,节点应用在调用之前有一个额外的斜杠:

$ which node
/usr/local/bin//node
$

我尝试更改计算机上的路径,但没有更改。我该如何从ssh中以与在同一盒子上本地运行相同的方式来运行它

A

1 个答案:

答案 0 :(得分:0)

通过SSH运行命令时,不会启动login shell(有关here的更多信息)。

根据您分享的详细信息,我想说这是您环境中的某件事(在登录的shell外部运行),更具体地说,您的$PATH变量存在问题。您可能需要检查/etc/environment或类似的路径(取决于您的Linux风格)的错误值。