LoginSignup
1
3

More than 5 years have passed since last update.

必要なファイルのみzcompileする

Posted at

zcompileとは

zshのソースをコンパイルすること。
コンパイルされたソースはコンパイル前のファイル名に.zwcという拡張子が追加され、該当するファイルの代わりにロードされる。

「必要なファイルのみzcompile」とは

.zshrcロード時などに、もとのソースコードに変更が加えられたものだけがコンパイルされれば理想なのだが、その方法をググると.zwc(コンパイル後)ファイルとソースコード(コンパイル前)の更新日を比較するため、一度手動でコンパイルしzwcファイルを生成しておかなければ正常に稼働しないコードばかりが見つかった。

複数の環境で利用する.zshrcなどにコンパイルのコードを書いておくと新しい環境で利用する際のことを考えるとしっくり来ない。

そこで

.zshrc
() {
  local src
  for src in $@; do
    ([[ ! -e $src.zwc ]] || [ ${src:A} -nt $src ]) && zcompile $src
  done
} ~/.zshrc ~/.zprofile ~/.zlogin ~/.zlogout

で良いと思う。
.zwcファイルが無いならコンパイルする必要があるってだけだと思う。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3