Emacs shell命令与tramp模式等效

标签 emacs elisp tramp

在 emacs 中,我可以交互地执行类似的操作:

M-x eshell <返回>

cd /sudo:privileged@myserver:
/path/to/mycommand

这很令人愉快,但我真的很希望能够在 elisp 代码中做这样的事情,作为自动化平凡任务的函数的一部分:

(shell 命令“/sudo:privileged@myserver:/path/to/mycommand”)

这不太管用。显然 shell 命令试图找到路径/sudo:privileged@myserver: 并且可以理解地提示。

是否有一种机制可以让我以编程方式在远程服务器上运行任意命令?我知道,在紧要关头,我可以求助于调用 `(shell-command "sshprivileged@myserver/path/to/mycommand")。不幸的是,由于我所处的网络怪癖,我在某种程度上依赖于tramp多跳代理功能,因此从tramp执行此操作似乎更简单。

我查看了tramp.el以了解他们如何实现tramp-handle-shell-command拦截器,但看起来他们并没有考虑这种情况,或者也许我需要欺骗它使用首先是右缓冲区。我有什么选择?

(我使用的是 GNU Emacs,而不是 xemacs,以防万一)。

最佳答案

如果您想在 eshell 中运行命令,请使用 eshell-command

关于Emacs shell命令与tramp模式等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4340535/

相关文章:

emacs - 如何在 emacs isearch-mode 中列出定义的键?

emacs - 在 Emacs 中,如何在多个帧中打开相同的缓冲区(使用 ido/iswitch 时)?

php - 在 Emacs 中设置 PHP 的初始缩进级别?

emacs - 在退出全屏时在 Emacs 中设置帧大小

Emacs:如何将用户提供的最后一个参数存储为默认值?

python - 是否可以在 Emacs 中将 Ropemacs 与 TRAMP 一起使用?

text - emacs 字符串插入矩形数字向量?

emacs - 如何在保持原始字体的同时修改文本?

emacs - Tramp-Mode 不会与 sudo shell 断开连接?

emacs - 在Emacs中,如何使用Tramp SSH作为其他组ID进行编辑?