如何使用“cd”命令从shell进入别名目录?它总是返回“htdocs”不是目录的错误。
编辑:我使用操作系统的GUI制作了快捷方式 ->右键单击htdocs目录,选择“别名…”(如果不是alias,则可能在英语中称为shortcut?),然后将其移动到我的主目录下(因为我打开终端时从那里开始)。
我想要的只是打开终端并输入“cd htdocs”,以便我可以从那里开始工作。
你可以为它创建 符号链接。
ln -s EXISTING_PATH LINK_NAME
ln -s ~/Documents/books ~/Desktop/
cd htdocs
,这样我就可以从那里工作。 更简单的方法可能是忽略符号链接,并将您的htdocs
目录的父目录添加到CDPATH
环境变量中。 当您键入cd foo
以查找列出的目录之一中的foo
目录时,bash(1)
会检查CDPATH
环境变量的内容。无论您当前的工作目录是什么,都能正常工作且比设置符号链接更容易。
如果您的htdocs
路径位于 /srv/www/htdocs/
,那么您可以使用CDPATH=/srv/www
。然后,cd foo
将首先查找/srv/www/foo/
并在存在时切换到它;如果不存在,则在当前工作目录中查找foo
并在存在时切换到它。(如果您的系统上有多个htdocs
目录,这可能会让人感到困惑; 在这种情况下,CDPATH=.:/srv/www
会让您轻松地切换到子目录,但仍然使用/srv/www/htdocs/
版本,如果没有./htdocs
目录存在。)
您可以将CDPATH=/srv/www
添加到您的~/.bashrc
文件中,以便每次启动终端时都起作用。alias
文件不是符号链接,尽管其功能类似于硬链接和符号链接的组合。它主要由OS X Finder支持,并起源于Classic Mac OS的早期时期。在Shell编程中使用alias
文件并不简单。OS X也支持标准符号链接和硬链接。 - Ned Deily我个人使用这个方法快速地在我的Mac电脑中一个卷内深层目录中工作。
打开你的~/.bash_profile
文件,通过添加以下内容创建一个目录的别名:
alias cdh="cd /Volumes/Haiku/haiku/src/apps/superprefs"
保存后,重新启动终端。现在在终端中键入cdh
应该会将工作目录更改为别名所提到的目录。
source ~/.bash_profile
或 . ~/.bash_profile
命令。需要在 Ubuntu 上执行此操作,现在需要在实际的 OSX 上进行测试。 - roger.bashrc
文件中创建一个变量。htdocs=YourDirectoryPath/
cd $htdocs
。在macworld上有一个古老的提示,可以以与BASH集成的方式完成此操作:启用从终端进入目录别名的“cd”
此外,这里是superuser上使用此解决方案的答案。
alias cdgo=`echo cd /root/go/`
运行cdgo命令,然后输入"cd /root/go/",它将改变当前终端进程中的目录。
在我的CentOS上可以正常工作,但未在OSX上进行测试。
ln -s ~/Documents/books ~/Desktop
(会尝试创建名为/Destop的符号链接并失败),与带有斜杠的/Desktop/下创建一个符号链接——这是ln -s ~/Documents/books ~/Desktop/
,它会在ln -s ~/Documents/books ~/Desktop/books
的简写。 - Beni Cherniavsky-Paskin