hnwの日記

Emacsでスクリプトをセーブするときに勝手に実行権限をつける方法

Emacsシェルスクリプトなどを書いているとき、ファイルセーブのタイミングでchmod u+xする方法を紹介します。実は「EmacsWiki: Making Scripts Executable On Save」の内容そのままです。


やり方は、init.elに下記のように書くだけです。

;; スクリプトっぽかったら勝手に実行ビットを立てる
 (add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p)


この設定により、バッファの先頭2文字がshebang「#!」で、かつ対応するファイルに実行権限が出ていない場合に実行権限をつけてくれます。


それにしても、EmacsWikiは大抵のことが既に書いてあって素晴らしいですね。一方で、参考にならない情報も消されずに残っていたりするので、こうして抜粋して紹介するのも意味があるかなと思います。