Next: , Previous: , Up: Top   [Contents][Index]


37 Emacsからのシェルコマンドの実行

Emacsには、シェルサブプロセスに1つのコマンドラインを渡したり、入出力にEmacsバッファーを使用して対話的にシェルを実行するコマンドや、端末エミュレーターウィンドウでシェルを実行するコマンドがあります。

M-! cmd RET

シェルコマンドcmdを実行して、出力を表示します(shell-command)。

M-| cmd RET

リージョンの内容を入力としてシェルコマンドcmdを実行します。オプションでリージョンを出力で置き換えます(shell-command-on-region)。

M-& cmd RET

シェルコマンドcmdを非同期で実行し、出力を表示します(async-shell-command)。

M-x shell

Emacsバッファーを通じて入出力を行なう、サブシェルを実行します。その後で、コマンドを対話的に与えることができます。

M-x term

Emacsバッファーを通じて入出力を行なう、サブシェルを実行します。その後でコマンドを対話的に与えることができます。完全な端末エミュレーションが利用できます。

(上記のコマンドのcmd引数、または他のコンテキストにおいて)実行可能プログラムとして相対ファイル名を指定したときは、Emacsは変数exec-pathにより指定されるディレクトリーのプログラムを検索します。この変数の値は、ディレクトリー名のリストでなければなりません。デフォルト値は、Emacsが開始されたときの環境変数PATHにより初期化されます(General Variablesを参照してください)。

M-x eshellは、Emacsで完全に実装されたシェルを呼び出します。eshellについては、自身のマニュアルにドキュメントされています。 Eshell in Eshell: The Emacs Shellを参照してください。