如果你input密码,你会得到如下的东西:
/home/username/Desctop/myfolder/
如何把最后一部分? 我的文件myfolder
path。
这一定很简单,但我找不到容易的解决scheme。 我知道如何在java中处理这个问题,而不是在shell中。
谢谢
你是对的 – 这是一个快速的命令:
basename "$PWD"
使用basename $(pwd)
是两个无用且昂贵的分支 。
echo ${PWD##*/}
应该在没有昂贵的叉子的情况下彻底地完成这个技巧(snag:根目录是空字符串)。
在Linux中,有一对命令, dirname
和basename
。 dirname
提取路径的最后部分,而basename
只提取路径的最后部分。
在这种情况下,使用basename
会做你想要的:
basename $(pwd)
如果最后一部分确实是一个目录组件(不是文件),那么可以使用basename
。
$ basename /home/username/Desctop/myfolder/ myfolder
要提取路径的最后部分,请尝试使用basename
…
basename $(pwd);
function basename { shopt -s extglob __=${1%%+(/)} [[ -z $__ ]] && __=/ || __=${__##*/} } basename "$PWD" echo "$__"