2017-11-18 89 views
1

我一直在试图配置CDPATH变量,以包含一些具有长绝对路径的目录,放置在外部驱动器上,但尽管告诉我目录包含在内,'cd'命令没有更改目录无论哪种方式
我用下面的命令:CDPATH配置但不工作

$ export CDPATH=/media/user/01/workspace/rubystudies
然后
$ echo $CDPATH,这回我下面的:

/media/user/01/workspace/rubystudies
然而,当我尝试cd rubystudiescd /rubystudies它说
bash: cd: /rubystudies: No such file or directory

我究竟在做什么错?配置CDPATH后,我真的如何使用cd

回答

0

下面是对CDPATH设置文档:

cd命令的搜索路径。这是一个以冒号分隔的 目录列表,其中shell查找由cd命令指定的目标目标 目录。示例值是“。:〜:/ usr”。

因此,CDPATH设置不是一个简单的冒号分隔的书签列表。它更类似于PATH设置,因为它在的内部看起来为,每个列出的目录都被传递给cd命令。

如果你想在这里正确使用环境,我会尝试:

export CDPATH='.:/media/user/01/workspace' 

...这将允许您根据需要执行cd rubystudies/

我使用CDPATH来保存.(当前工作目录)和一个包含我所有项目的目录,以便我可以从任何地方切换到它们中的任何一个。您可能还想包含您的主目录以快速访问它所包含的子目录。

+0

我可以利用这个机会询问如何从'CDPATH'中删除一个目录吗?我没有永久添加它,但是如果我错误地输入了一个永久目录,我将无法重新启动会话 – sandobits

+0

删除一个我知道的目录的唯一方法是仅仅为'CDPATH'分配一个新值有问题的目录。您应该在“〜/ .bashrc”中放置所需的设置,以避免手动定义它。 – lifecrisis