如何从符号链接的读取链接的结果值中筛选命令替换



这可能标题不好,因为我不完全确定这个过程叫什么。基本上,我只想获取符号链接路径的最后一部分,并且我正在尝试使用与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))

最新更新