有没有办法从命令“cd”进入shell的别名目录?它总是返回“htdocs”不是目录。
编辑:我使用OS GUI制作了快捷方式 - >右键单击htdocs目录并选择“Alias ...”(我使用的是德语操作系统,如果它不是别名,也许它在英语中称为快捷键?)然后我将它移动到我的主目录(因为当我打开时我的终端从那里开始它)。
我想要的只是打开我的终端并键入“cd htdocs”以便我可以在那里工作。
答案 0 :(得分:53)
您可以对其进行符号链接。
ln -s SOURCE TARGET
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
答案 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进行测试