跑步help cd
可得:
The variable CDPATH defines the search path for the directory containing
DIR. Alternative directory names in CDPATH are separated by a colon (:).
A null directory name is the same as the current directory. If DIR begins
with a slash (/), then CDPATH is not used.
有人可以通过一些例子进一步解释一下吗:
- CDPATH 由冒号 (:) 分隔
- 空目录名与当前目录相同。
- 如果 DIR 以斜杠 (/) 开头,则不使用 CDPATH。
答案1
要解释“这些再多一点”,需要解释“这些”是什么,以及你有什么问题。我会尽力的。
如果cd
shell 内建命令在当前目录中没有看到目标目录,它会查阅CDPATH
。如果目标目录是绝对目录(从根目录开始,/
),CDPATH
则不使用。
CDPATH
是用冒号分隔的目录列表,例如
CDPATH="/home/walt/first:/usr/local/bin:/home/walt"
然后我就可以了cd Documents
,不管我当前的目录是什么。
在处理“冒号分隔”列表时(PATH
这是一个例子),我使用 Stephen Collyer 的 bash_path_funcs,早在 2000 年的 Linux Journal 中就有描述:
https://www.linuxjournal.com/article/3645 https://www.linuxjournal.com/article/3768 https://www.linuxjournal.com/article/3935
此addpath
函数仅当路径中不存在条目时才向路径添加条目。delpath -n
从路径中删除所有不存在的目录。listpath
列出路径。
您可以pathfunc.tgz
从 https://web.archive.org/web/20061210054813/http://www.netspinner.co.uk:80/Downloads/pathfunc.tgz