![别名 CD 到其名称包含在当前目录中的目录](https://linux22.com/image/126786/%E5%88%AB%E5%90%8D%20CD%20%E5%88%B0%E5%85%B6%E5%90%8D%E7%A7%B0%E5%8C%85%E5%90%AB%E5%9C%A8%E5%BD%93%E5%89%8D%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E7%9B%AE%E5%BD%95.png)
我一直在使用 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"'