zsh 5.0.2 (x86_64-apple-darwin12.3.0)
私は最新のMacOSXを使用しています。違いがあればそれも活性化しましたoh-my-zsh
。
.zshrc
私がファイルを取得しようとすると、シェルがファイルを失うようです。
次のコマンドの実行結果は、私の問題を明確に示しています。 (~ »
それは私のヒントでした)。
ファイルが存在する
~ » ls -l .zshrc
-rw-r--r-- 1 user staff 1882 May 16 10:43 .zshrc
~ » [[ -r .zshrc ]] && echo "Exists"
Exists
ファイルを「.」として読み込めませんでした。
~ » . .zshrc
.: no such file or directory: .zshrc
特にこれが動作する場合、この動作の原因が何なのかわかりません。
~ » . "$(pwd)"/.zshrc
Success!
私の質問は次のとおりです
なぜ動作しないのです. .zshrc
か?
答え1
この.
コマンドはユーザーのファイルを検索し、デフォルトで$path
は現在のディレクトリでは検索しません。これが"$(pwd)"/.zshrc
絶対パス()を提供するときに機能する理由です。
~から.
zsh コマンドマニュアル:
。ファイル[パラメータ...]
ファイルからコマンドを読み取り、現在のシェル環境で実行します。
ファイルにスラッシュが含まれていない場合、またはPATH_DIRSが設定されている場合、シェルは$ pathコンポーネントでファイルを含むディレクトリを探します。 $ pathに "."が表示されない場合、現在のディレクトリのファイルを読み取ることはできません。
...
比較するsource
注文する:
ソースファイル[引数...]
'.'と同じですが、常に現在のディレクトリを検索し、$ pathのディレクトリを常に最初に検索します。