如何cd到Mac OSX终端中的别名目录

时间:2011-10-16 00:04:28

标签: macos bash

有没有办法从命令“cd”进入shell的别名目录?它总是返回“htdocs”不是目录。

编辑:我使用OS GUI制作了快捷方式 - >右键单击htdocs目录并选择“Alias ...”(我使用的是德语操作系统,如果它不是别名,也许它在英语中称为快捷键?)然后我将它移动到我的主目录(因为当我打开时我的终端从那里开始它)。

我想要的只是打开我的终端并键入“cd htdocs”以便我可以在那里工作。

7 个答案:

答案 0 :(得分:53)

您可以对其进行符号链接

ln -s SOURCE TARGET

e.g。

ln -s ~/Documents/books ~/Desktop/

参考

Enter into a directory through an alias in Mac OS X terminal

答案 1 :(得分:10)

  

我想要的只是打开我的终端并输入cd htdocs,以便我可以在那里工作。

更简单的方法可能是忽略链接并将htdocs目录的父目录添加到CDPATH环境变量中。当您键入bash(1)以查找列出的其中一个目录中的CDPATH目录时,cd foo将检查foo环境变量的内容。无论您当前的工作目录是什么,这都会有效,并且比设置符号链接更容易。

如果htdocs的路径位于/srv/www/htdocs/,那么您可以使用CDPATH=/srv/www。然后,cd foo会首先查找/srv/www/foo/并更改为{}}存在;如果没有,那么它将在当前工作目录中查找foo并在其存在时更改为它。 (如果您的系统上有多个htdocs目录,这可能会让您感到困惑;在这种情况下,CDPATH=.:/srv/www可以让您轻松地更改为子目录,但如果没有/srv/www/htdocs/,则仍然可以使用./htdocs版本{1}}目录存在。)

您可以将CDPATH=/srv/www行添加到~/.bashrc文件中,以便每次启动终端时都能正常运行。

答案 2 :(得分:8)

我个人使用它来快速处理我的Mac中我的一个卷内部的目录。

打开~/.bash_profile,通过添加以下内容为目录创建别名:

alias cdh="cd /Volumes/Haiku/haiku/src/apps/superprefs"

保存,重新启动终端。现在,在终端中键入cdh时,应将工作目录更改为别名所提及的目录。

答案 3 :(得分:6)

我不确定OSX如何公开Alias链接,但由于您使用bash,您只需在.bashrc文件中创建一个变量。

在其自己的路线上放置:

htdocs=YourDirectoryPath/

重新启动bash后,您只需输入cd $htdocs

即可

答案 4 :(得分:3)

在macworld上有一个旧的暗示以与BASH集成的方式执行此操作:Enable 'cd' into directory aliases from the Terminal

另外,这里是an answer that uses this solution on superuser

答案 5 :(得分:1)

您可以使用osascript执行此操作 - 此命令似乎有效:

  

cd“`osascript -e”运行aFile“-e”将aFile设置为POSIX文件aFile作为别名“-e”告诉应用程序“\”“Finder”\“”返回POSIX路径((原始项目) aFile)as text)“ - e”end run“path_to_my_Finder_alias 2> / dev / null`”

基本上这个命令正在运行一个AppleScript,它在子shell中找到参数的目标路径(path_to_my_Finder_alias),然后用双引号将其包装起来,并将目录更改为它。

也许拥有更多bash专业知识的人可以将其变成bash别名或功能。

答案 6 :(得分:0)

尝试:

alias cdgo=`echo cd /root/go/`

cdgo将运行,然后获取命令“ cd / root / go /”并输入,它将在当前终端进程中更改您的目录

它可以在我的centos上运行,无需使用osx进行测试