深入探索bash配置与定制
1. $CDPATH的使用
$CDPATH 是一个由冒号分隔的目录列表,作为cd内置命令的搜索路径,类似于$PATH对命令的作用。若cd的参数以斜杠开头,则不会使用$CDPATH。当使用$CDPATH时,新目录的绝对路径会输出到标准输出。
在 POSIX 模式下运行 bash 时需注意,若设置了$CDPATH,cd内置命令不会隐式地将当前目录追加到其中。若无法从$CDPATH的任何条目构建有效的目录名,即使当前目录中存在与cd参数同名的目录,cd也会失败。为避免此问题,可在$CDPATH中显式包含.,但这样每次使用cd时可能会将新路径输出到标准输出,这并非标准行为。
常见可包含在$CDPATH中的目录如下:
-.:当前目录
-~/:主目录
-..:父目录
-../..:祖父目录
-~/.dirlinks:一个仅包含指向其他常用目录符号链接的隐藏目录