M-! (shell-command
)は,ミニバッファを使ってテキストを読み
込み,その行をコマンドとして実行する下位レベルのシェルを作り出します.コ
マンドの標準入力はnullデバイスになります.シェルコマンドが何らかの出力を
出す場合は,その出力はEmacsバッファ`*Shell Command Output*'にはいり
ます.このバッファは,別のウィンドウに表示されますが,選択はされません.
M-1 M-!のように数引数があると,このコマンドの出力はカレントバッファ
に挿入されます.この場合,ポイントは出力の前におかれ,マークが出力の後ろ
に設定されます.
M-| (shell-command-on-region
)はM-!と似ていますが,
入力なしではなく,リージョンの内容を入力してシェルコマンドへわたします.
数引数は,カレントバッファに出力を挿入することを意味します.このとき,ま
ずリージョンの古い内容が消去され,次にコマンドの出力がリージョンの内容に
置き換えられます.
M-!とM-|はともに,使用するシェルの指定に変数
shell-file-name
を用います.この変数はEmacsを起動したときの,環境
変数SHELL
で初期化されます.ファイル名でディレクトリが指定されてい
ないときは,リストexec-path
の中のディレクトリを探します.このリス
トは,Emacsを起動したときの,環境変数PATH
で初期化されます.これら
のデフォルトは,自分の`.emacs'ファイルで変えることができます.
M-!及びM-|を使うと,シェルコマンドが終了するまでEmacsは待 機します.C-gによって,シェルコマンドを終らせることができます.