在带有流浪汉的远程机器上运行命令?

Posted

技术标签:

【中文标题】在带有流浪汉的远程机器上运行命令?【英文标题】:running command on remote machine with tramp? 【发布时间】:2013-02-03 19:12:46 【问题描述】:

我在远程机器上打开了一个文件,输入了C-u M-!,然后输入了tree 命令。它显示在缓冲区中:

/bin/sh: tree: command not found

tree命令安装到/home/RNAer/bin中,我验证用bash终端登录时可以成功运行。

然后我像下面这样在.emacs中添加路径并重启emacs,

(add-to-list 'tramp-remote-path "/home/RNAer/bin")

但它仍然有找不到命令的相同错误。有什么问题?

【问题讨论】:

你在远程机器上哪里添加了/home/RNAer/bin$PATH?换句话说,这个目录是否也在 non-interactive shell 会话中添加到 $PATH 中? 它被添加到交互式shell中的~/.bashrc(由~/.bash_profile提供)。但我测试了它——即使我在非交互式 shell 会话中添加到 $PATH,它仍然失败。 您是否删除了您的持久性文件? (默认持久化文件为~/.emacs.d/tramp 【参考方案1】:

我遇到了同样的问题,我通过在 .emacs 中添加以下行解决了

(require 'tramp) 
(add-to-list 'tramp-remote-path "/home/RNAer/bin")

请注意,如果没有第一行,则第二行会引发错误。您可以通过

仔细检查您的tramp-remote-path
(message (format "%s" tramp-remote-path))

看看你的路径是否设置正确。

【讨论】:

以上是关于在带有流浪汉的远程机器上运行命令?的主要内容,如果未能解决你的问题,请参考以下文章

在命令行中通过 ssh 在远程机器上运行 MySQL 查询

sh 在另一台机器上远程运行命令

当我通过 Git Bash 中的 ssh 在远程 Linux 机器上运行命令时,如何将文件的内容直接复制到我的 Windows 剪贴板中?

Teamcity在远程服务器上运行.exe文件

通过远程 ssh 运行完整命令 [重复]

IISExpress 从远程机器返回 503 错误