Linux 用于在并行目录结构之间移动的cd别名

Linux 用于在并行目录结构之间移动的cd别名,linux,bash,unix,Linux,Bash,Unix,假设我有以下目录结构(变量是z或y或x或w目录): 如何为cd命令(在bash中)编写别名,以便在 /a/b/c/d/e/w/f/g/h or in /a/b/c/d/e/w/f/g/h/i/j or in /a/b/c/d/e/w/f/g/h/i/j/k 和类型: cd z 它会分别吸引我 /a/b/c/d/e/z/f/g/h or in /a/b/c/d/e/z/f/g/h/i/j or in /a/b/c/d/e/z/f/g/h/i/j/k /a/b/c/d/e/y/f/g/h or

假设我有以下目录结构(变量是
z
y
x
w
目录):

如何为
cd
命令(在bash中)编写别名,以便在

/a/b/c/d/e/w/f/g/h or in
/a/b/c/d/e/w/f/g/h/i/j or in
/a/b/c/d/e/w/f/g/h/i/j/k
和类型:

cd z
它会分别吸引我

/a/b/c/d/e/z/f/g/h or in
/a/b/c/d/e/z/f/g/h/i/j or in
/a/b/c/d/e/z/f/g/h/i/j/k
/a/b/c/d/e/y/f/g/h or in
/a/b/c/d/e/y/f/g/h/i/j or in
/a/b/c/d/e/y/f/g/h/i/j/k
如果我键入:

cd y
cd w
它会分别吸引我

/a/b/c/d/e/z/f/g/h or in
/a/b/c/d/e/z/f/g/h/i/j or in
/a/b/c/d/e/z/f/g/h/i/j/k
/a/b/c/d/e/y/f/g/h or in
/a/b/c/d/e/y/f/g/h/i/j or in
/a/b/c/d/e/y/f/g/h/i/j/k
当然,如果我键入:

cd y
cd w

它应该让我留在我现在(已经在那里)的位置。

使用函数可能是最简单的:


将其放入您的
~/.bashrc
(或另一个类似
.mycd.bash
的源文件)中,然后使用
mycd x

提供一些可能对您有帮助的答案。也可能。同样有用的是:别名不能进行参数替换。你需要使用一个函数。@Barmar好的,给我一个函数!别忘了变量周围的双引号。我本来希望有更参数化的东西,因为我有100个这样的目录结构,我不想创建100个函数。@gaitat那么你需要更好地指定你的问题