首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Bash:在`directory_name.git`目录下,如何cd到`../目录名`?

Bash:在`directory_name.git`目录下,如何cd到`../目录名`?
EN

Stack Overflow用户
提问于 2011-01-07 02:49:56
回答 5查看 886关注 0票数 0

我是Bash脚本编程的新手,我希望能做到以下几点:

脚本的pwd是"/a/b/c/directory_name.git/“,我想cd到"../ directory_name”,其中directory_name可以是任何内容。有什么简单的方法可以做到这一点吗?

我猜我必须将pwd的结果放在一个变量中,并删除最后4个字符。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-01-07 02:56:37

代码语言:javascript
运行
复制
tmpd=${PWD##*/}
cd ../${tmpd%.*}

或者更简单的

代码语言:javascript
运行
复制
cd ${PWD%.*}

测试

代码语言:javascript
运行
复制
$ myPWD="/a/b/c/directory_name.git"
$ tmpd=${myPWD##*/}
$ echo "cd ../${tmpd%.*}"
cd ../directory_name

*注意:$PWD不包括尾部斜杠,因此${param##word}扩展将正常工作。

票数 1
EN

Stack Overflow用户

发布于 2011-01-07 02:53:09

尝试:

代码语言:javascript
运行
复制
cd `pwd | sed -e s/\.git$//`

反引号在内部执行命令,并使用该命令的输出作为cd的命令行参数。

要调试这样的管道,使用echo是很有用的

代码语言:javascript
运行
复制
echo `pwd | sed -e s/\.git$//`
票数 1
EN

Stack Overflow用户

发布于 2011-01-07 03:01:42

这应该是可行的:

代码语言:javascript
运行
复制
cd "${PWD%.*}"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4618557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档