这可能标题不好,因为我不完全确定这个过程叫什么。基本上,我只想获取符号链接路径的最后一部分,并且我正在尝试使用与PWD相同的方法。
例如:如果我这样做
PWD
它打印
/opt/ct/mydir
如果我这样做
echo ${PWD##*/}
它只打印最后一部分
mydir
所以使用那个设计我可以做到
readlink mysymlink
这给了
/opt/ct/somedir
我能做到
TMP=$(readlink mysymlink)
echo ${TMP##*/}
它将打印
somedir
那么现在我如何将最后一部分合并为一行,例如
TMP=$(readlink mysymlink && echo ${TMP##*/})
???
我展示的示例给了我 2 个串联结果.一个具有完整路径,另一个具有我想要的部分。我只想要最后一个目录。
我也试过
TMP=${ $(readlink mysymlink)##*/}
无济于事
变量替换后缀只能与变量一起使用,而不能与命令替换一起使用。您必须设置变量并在单独的语句中对其进行修改,就像第一次尝试一样,或者使用其他命令替换:
TMP=$(basename $(readlink))