%20%E3%81%8C%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
.
私は最近bashからzshに切り替えました。bashでは、 sourceコマンドにドットエイリアスを使用していました。例:
. .bashrc
. .bashrc
、、で動作しました. ~/.bashrc
。. ./.bashrc
しかし、zsh ではドット エイリアスは同じようには機能しません。ファイルへのパスでのみ機能します。ただし、パスのないファイルを使用する場合は機能しません。
これは動作しません:
. .zshrc
次のエラーが発生します:.: no such file or directory: .zshrc
しかし、これらはすべて機能します:
source .zshrc
. ./.zshrc
. ~/.zshrc
答え1
それは実は標準的な行動ドットコマンドの:$PATH検索を使用します。コマンドを実行するときと同じです。通常の相対パスではありません。そのため、一般的なライブラリをたとえば ~/bin/ に置いて、. libwhatever.sh
任意のディレクトリから簡単に読み込むことができます。
直接相対パス検索を実行することは、非標準の Bash 拡張機能です。
(同様に、dot は.
実際には「シェル言語」標準にリストされているメイン コマンドであり、source
シェル固有のエイリアスです。その逆ではありません。)