最近、bashからzshに切り替えました。 bashでは、ソースコマンドにドットエイリアス.
を使用しました。
. .bashrc
. .bashrc
、. ~/.bashrc
、. ./.bashrc
で動作しました。
ただし、zshでは、ドットエイリアスは同じようには機能しません。ファイルへのパスでのみ機能します。しかし、パスのないファイルを使用する場合はそうではありません。
これは動作しません:
. .zshrc
このエラーが発生します:.: no such file or directory: .zshrc
しかし、これらはすべて機能します。
source .zshrc
. ./.zshrc
. ~/.zshrc
これは実際には 標準の動作 ドットコマンドの==:コマンドを実行するときと同じように$ PATH検索を使用します通常の相対パス。したがって、たとえば、共通のライブラリを使用できます。 〜/ bin /そして任意のディレクトリから. libwhatever.sh
でそれらをロードするだけです。
直接相対パスルックアップの実行は、非標準のBash拡張機能です。
(同様に、ドット.
は実際には「シェル言語」標準にリストされているメインコマンドであり、source
はシェル固有のエイリアスです。その逆ではありません。)