有条件地在 zsh 中获取脚本
Conditionally source a script in zsh
我目前在 .zshrc
中获取初始化脚本。不幸的是,这对我的环境做了一些修改,$PATH
我不想要,除非我在某些特定目录中。
当然,我可以将 pwd
的输出与当前目录进行比较,但如果我在特定目录 或 之一中,我想获取源代码它的任何级别的子目录。
我的问题可能有完全不同的解决方案吗?
仅仅为了 运行 pwd
使用子进程是矫枉过正的。你发现你的当前目录总是存储在变量 PWD
中。这个变量由 zsh 自动维护。
您可以通过
查找您的工作目录是否在某个目录dir
中或以下
if [[ $PWD:A == $dir:A || $PWD:A == $dir:A/** ]]
then
# I am in $dir or below it
...
fi
:A
处理比较中涉及的路径组件之一恰好是符号链接的情况。我不确定 PWD
是否需要这个,但使用它不会有什么坏处。
我目前在 .zshrc
中获取初始化脚本。不幸的是,这对我的环境做了一些修改,$PATH
我不想要,除非我在某些特定目录中。
当然,我可以将 pwd
的输出与当前目录进行比较,但如果我在特定目录 或 之一中,我想获取源代码它的任何级别的子目录。
我的问题可能有完全不同的解决方案吗?
仅仅为了 运行 pwd
使用子进程是矫枉过正的。你发现你的当前目录总是存储在变量 PWD
中。这个变量由 zsh 自动维护。
您可以通过
查找您的工作目录是否在某个目录dir
中或以下
if [[ $PWD:A == $dir:A || $PWD:A == $dir:A/** ]]
then
# I am in $dir or below it
...
fi
:A
处理比较中涉及的路径组件之一恰好是符号链接的情况。我不确定 PWD
是否需要这个,但使用它不会有什么坏处。