GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Shell.html ・ emacs-doc.conao3.com

40 Emacsからシェルコマンドを実行する

Emacsには、シェルのサブプロセスに単一のコマンドラインを渡すコマンドや、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 に依存します(一般変数 を参照)。

M-x eshell は、完全に Emacs で実装されたシェルを呼び出します。専用のマニュアルが用意されています。Eshell: The Emacs Shell の Eshell を参照してください。