别名 CD 到其名称包含在当前目录中的目录

别名 CD 到其名称包含在当前目录中的目录

我一直在使用 cmake 并为我的 cmake 代码创建一个构建文件夹,并且我想轻松地 cd 到构建目录。我一直以这种格式命名我的构建目录:

/parent/code 等

/parent/codeandsuch_build

我在 bashrc 中尝试了以下别名,但它不起作用。我已将当前目录的名称复制到字符串中,添加 _build 并尝试 cd 但它不起作用。有任何想法吗?谢谢

alias cdbuild='DIR=${PWD##*/} || DIR = DIR + "_build"|| echo DIR || cd ../DIR'

答案1

你不能+在 bash 中连接字符串。此外,您还需要$在变量名称前面添加 a 才能使用其值。所以,而不是:

DIR = DIR + "_build"

使用:

DIR="${DIR}_build"

整个事情就变成了:

alias cdbuild='DIR=${PWD##*/} || DIR="${DIR}_build || echo "$DIR" || cd "../$DIR"'

或者:

alias cdbuild='cd "$(pwd)_build"'

相关内容