2

emacsでは、このようなことをインタラクティブに行うことができます。

Mxeshell<リターン>

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

それは楽しいことですが、ありふれたタスクを自動化する関数の一部として、elispコードでこのようなことを実行できるようにしたいと思っています。

(shell-command "/sudo:privileged@myserver:/path/to/mycommand")

これはうまくいきません。どうやらshell-commandはパス/sudo:privileged @ myserver:を見つけようとし、当然のことながら文句を言います。

プログラムでリモートサーバー上で任意のコマンドを実行できるメカニズムはありますか?ピンチで、 `(shell-command" sshprivileged @ myserver / path / to / mycommand ")を呼び出すことに頼ることができることを私は知っています。残念ながら、私がいるネットワークの癖のために、私はトランプマルチホッププロキシ機能にいくらか依存しているので、トランプからこれを行う方が簡単に思えます。

tramp.elを調べて、tramp-handle-shell-commandインターセプターがどのように実装されているかを確認しましたが、この種のケースを考慮しているようには見えません。または、最初に適切なバッファーを使用するように騙す必要があります。 。私のオプションは何ですか?

(重要な場合に備えて、xemacsではなくGNU Emacsを使用しています)。

4

1 に答える 1

4

eshell-commandでコマンドを実行する場合に使用しますeshell

于 2010-12-02T22:30:51.837 に答える