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を使用しています)。