Emacs上からのコマンド実行方法は多くありますが、Emacs Lispの関数から使うことに焦点をあてます。 基本パターン 一番単純な使い方 pwdを実行して結果を文字列で得ます。 (defun my-pwd () (interactive) (shell-command-to-string "pwd")) ;; (my-pwd) ; => "/Users/username\n" M-x my-pwdもしくはM-: (my-pwd)で実行できます。 (pwd: カレントディレクトリを返すコマンド) 非同期でコマンドを実行 Mac OSXのsayコマンドでAlexに喋ってもらいます。shell-command-to-stringで同期実行した場合はAlexが喋っている間にEmacsを動かすことができません。そこで非同期実行のasync-shell-commandを使って実行中もEmacsを動