
現在処理中のzsh起動ファイル(zshrcやzshenvなど)のフルパスを取得する方法はありますか?つまり、/usr/local/etc/zshrc
またはに配置できるzshrcファイルがあるとします$HOME/.zshrc
。このzshrcファイルでは、場所に応じてさまざまな操作を実行する必要があります。一般的なアプローチは、$0
zshrcスクリプトパスの代わりにzshバイナリパスを含むため、機能しません。
答え1
プロンプト拡張は%N
(現在のスクリプト/ソースファイル/関数)を提供します。
だからあなたはこれを行うことができます:
print -P %N
またはからインポートしてください${(%):-%N}
。
$funcsourcetrace
呼び出しスタックファイルも参照してください。