对不起,如果这是一个愚蠢的问题。
我的工作区 dir1、dir2、dir3 和 dirzz 中有 4 个目录。我需要使用一个参数设置一个别名来决定要调用哪个目录。例如
$ gotodir 1
这应该带我到 dir1
$ gotodir z
这应该带我去 dirzz
我试过了
alias gotodir="cd ~/home/user/dir${1}"
alias gotodir='cd ~/home/user/dir$1'
但两者都抛出错误
有人可以在这里帮助我提前谢谢
从该部分的bash 手册页
alias
:所以要做你想做的事,只需要定义一个函数:
然后将其称为:
您可以在别名中使用函数:
另一种可能性是设置 CDPATH 变量。它包含一个逗号分隔的目录列表,
cd
在切换到相对目录时检查。如果目录名称太长,请使用符号链接。你说“
gotodir z
应该带我去 dirzz”据我所知,到目前为止发布的答案都不会做到这一点。但是我们只需要从kaylum 的答案中更改一个字符:请注意添加了
*
glob 字符。这样,gotodir z
将带您进入主目录中名称以(如果有的话,如果它是一个目录)开头的第一dirz
件事。在 bash 中测试。我不知道这是否适用于所有外壳。