假设我有以下目录结构(变量是zyxwcd目录):

/a/b/c/d/e/z/f/g/h/i/j/k
/a/b/c/d/e/y/f/g/h/i/j/k
/a/b/c/d/e/x/f/g/h/i/j/k
/a/b/c/d/e/w/f/g/h/i/j/k

如何为命令(在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

如果我键入:
cd y

它将分别接纳我
/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 w

它应该把我留在原地。

最佳答案

使用函数可能最简单:

mycd() {
  cd "/a/b/c/d/e/$1/${PWD#/a/b/c/d/e/*/}"
}

把它放到~/.bashrc(或者用类似. mycd.bash的东西来创建的另一个文件)中,然后使用mycd x

关于linux - cd别名,用于在并行目录结构之间移动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32486976/

10-16 10:24