Emacsには、シェルサブプロセスに1つのコマンドラインを渡したり、入出力にEmacsバッファーを使用して対話的にシェルを実行するコマンドや、端末エミュレーターウィンドウでシェルを実行するコマンドがあります。
シェルコマンドcmdを実行して、出力を表示します(shell-command
)。
リージョンの内容を入力としてシェルコマンドcmdを実行します。オプションでリージョンを出力で置き換えます(shell-command-on-region
)。
シェルコマンドcmdを非同期で実行し、出力を表示します(async-shell-command
)。
Emacsバッファーを通じて入出力を行なう、サブシェルを実行します。その後で、コマンドを対話的に与えることができます。
Emacsバッファーを通じて入出力を行なう、サブシェルを実行します。その後でコマンドを対話的に与えることができます。完全な端末エミュレーションが利用できます。
(上記のコマンドのcmd引数、または他のコンテキストにおいて)実行可能プログラムとして相対ファイル名を指定したときは、Emacsは変数exec-path
により指定されるディレクトリーのプログラムを検索します。この変数の値は、ディレクトリーのリストでなければなりません。デフォルト値は、Emacsが開始されたときの環境変数PATH
により初期化されます(一般的な変数を参照してください)。
M-x eshellは、Emacsで完全に実装されたシェルを呼び出します。eshellについては、自身のマニュアルにドキュメントされています。 Eshell in Eshell: The Emacs Shellを参照してください。