cd
我经常进入的目录有一条非常长的路径。我想减少击键次数。
我已经尝试过这个...
sudo ln -s /mnt/c/Users/me/ho/hum/bin /mybin
它有效,但似乎有些不对劲。
有没有更好的办法?
我目前使用 bash,但是如果我切换 shell 仍然可以工作的解决方案会很好。
系统信息
在适用于 Linux 的 Windows 子系统上运行 Unbutu。
$ uname -a
Linux Hostname 4.4.0-17763-Microsoft #253-Microsoft \
Mon Dec 31 17:49:00 PST 2018 \
x86_64 x86_64 x86_64 GNU/Linux
答案1
一个简单的解决方案是使用别名。放
alias mb='cd /mnt/c/Users/me/ho/hum/bin'
进入你的~/.bashrc
.然后你只需输入mb
,bash 就会执行该cd
命令。
很多 shell——我敢说大多数(如果不是全部)——都支持别名。但是,您需要将其添加到您要使用的每个 shell 的初始化文件(例如, .cshrc
、 )中。.zshrc
请注意,不同 shell 的命令语法alias
可能有所不同。
答案2
默认情况下,cd
相对于您的工作目录进行搜索(如果您指定相对路径,而不是绝对路径)。您可以通过CDPATH
在 shell 初始化文件之一中设置环境变量来添加将搜索匹配项的目录。这至少在bash
和中得到支持ksh
。
来自bash
手册页:
CD路径
的搜索路径为光盘命令。这是一个以冒号分隔的目录列表,shell 在其中查找由光盘命令。示例值为“.:~:/usr”。
对于您的示例,如果您设置了
export CDPATH=.:/mnt/c/Users/me/ho/hum
然后你可以设置/mnt/c/Users/me/ho/hum/bin
为你的工作目录
cd bin
请注意,如果您的预期目的地有一个通用名称 ( bin
),则变量中的条目顺序CDPATH
将很重要。如果您的工作目录是/usr/local
按照CDPATH
上一段设置的,那么cd bin
将带您到/usr/local/bin
而不是/mnt/c/Users/me/ho/hum/bin
.