政府应如何";CDPATH“;命令是否写入.bashrc文件?

政府应如何";CDPATH“;命令是否写入.bashrc文件?,bash,shell,command-line,terminal,shortcuts,Bash,Shell,Command Line,Terminal,Shortcuts,我有一个深入文件夹的目录(XAMPP),我想cd直接进入 我在终端中运行此命令:CDPATH=/Applications/XAMPP/xamppfiles/htdocs/ 而且它有效 因此,如果我希望这是永久性的,我必须将这一行添加到.bashrc文件中。但是将同一行添加到我的.bashrc文件不起作用 我的.bashrc文件包含: [ -n "$PS1" ] && source ~/.bash_profile CDPATH=/Applications/XAMPP/xamppfi

我有一个深入文件夹的目录(XAMPP),我想
cd
直接进入

我在终端中运行此命令:
CDPATH=/Applications/XAMPP/xamppfiles/htdocs/
而且它有效

因此,如果我希望这是永久性的,我必须将这一行添加到
.bashrc
文件中。但是将同一行添加到我的
.bashrc
文件不起作用

我的
.bashrc
文件包含:

[ -n "$PS1" ] && source ~/.bash_profile
CDPATH=/Applications/XAMPP/xamppfiles/htdocs/

该行在
.bashrc
文件中应该是什么样子?我错了吗?我曾尝试将
export
放在
CDPATH
前面,还有
$CDPATH:${HOME}/Applications/XAMPP/xamppfiles/htdocs
但两者都不起作用。

首先要注意,CDPATH被认为是第一个目录,因此,如果另一个目录包含同名目录,您将无法轻松切换到本地目录。您可能会在前面添加一个空路径,写入
CDPATH=:/Application/…

您不应该需要导出,因为该导出只与您的shell相关,而与您的shell运行的命令无关。你写的这行应该没问题


请注意,根据启动方式,bash将读取
~/.bashrc
~/.bash\u profile
。在两者中添加一行
echo
以调试在您的上下文中评估的文件。

如果您想直接使用
cd-htdocs
转到
htdocs
,您应该输入:

export CDPATH=:/Applications/XAMPP/xamppfiles
转到您的
$HOME/.profile
(并打开new Terminal.app窗口或
source$HOME/.profile

在此之后

cd htdocs
是否将cd刻录到
/Applications/XAMPP/xamppfiles/htdocs

您还可以为其创建特殊别名,例如:

alias xcd="cd /Applications/XAMPP/xamppfiles/htdocs"

Hmm在
/Application
中只有一个名为
XAMPP
的文件夹。但是在
htdocs
中还有一个名为
xampp
(小写)的文件夹。这是否是问题的根源?我尝试了
CDPATH=/Applications/./XAMPP/xamppfiles/htdocs/localweb/
和一些“空路径”变体,但没有成功。目前,
CDPATH
的确切内容无关紧要。问题是,它是否被设定了。例如,您可以使用
echo$CDPATH
进行检查。-可能还没有定下来。因此你必须找出原因我假设这是因为您的shell是作为登录shell启动的,因此不读取您的
。bashrc
。看起来
echo$CDPATH
返回根目录
~
CDPATH
是一个变量,而不是一个命令。变量定义在哪里?首先尝试从命令行设置它,让它在那里工作,然后将它添加到您的登录脚本中。我尝试将这两行都放在
~/.profile
中,但仍然没有成功。我假设
~
是我的
$HOME
?我在我的
~
目录的.profile中有
导出CDPATH=:/Applications/XAMPP/xamppfiles/htdocs/
。“我遗漏了什么吗?”亨利朱:是的——仔细阅读我的答案!您应该有
CDPATH=:/Applications/XAMPP/xamppfiles
而不是
PATH=:/Applications/XAMPP/xamppfiles/htdocs/