我是Bash脚本编程的新手,我希望能做到以下几点:
脚本的pwd是"/a/b/c/directory_name.git/“,我想cd到"../ directory_name”,其中directory_name可以是任何内容。有什么简单的方法可以做到这一点吗?
我猜我必须将pwd的结果放在一个变量中,并删除最后4个字符。
发布于 2011-01-07 02:56:37
tmpd=${PWD##*/}
cd ../${tmpd%.*}或者更简单的
cd ${PWD%.*}测试
$ myPWD="/a/b/c/directory_name.git"
$ tmpd=${myPWD##*/}
$ echo "cd ../${tmpd%.*}"
cd ../directory_name*注意:$PWD不包括尾部斜杠,因此${param##word}扩展将正常工作。
发布于 2011-01-07 02:53:09
尝试:
cd `pwd | sed -e s/\.git$//`反引号在内部执行命令,并使用该命令的输出作为cd的命令行参数。
要调试这样的管道,使用echo是很有用的
echo `pwd | sed -e s/\.git$//`发布于 2011-01-07 03:01:42
这应该是可行的:
cd "${PWD%.*}"https://stackoverflow.com/questions/4618557
复制相似问题