列出符号链接引用的ls选项(无日期、权限、大小等)。

3

如果我使用:

$ ls -l mysymlinkname

I get:

lrwxrwxrwx 1 ownr grp 46 Jan 19 17:15 mysymlinkname -> /home/ownr/path/target

All I want is:

/home/ownr/path/target

如何将其放入bash变量中?

是否有相应的ls选项?或者有一个简单可靠的bash命令可以提取它吗?


3
如果你有readlink,readlink file-that-is-a-link通常会起作用。 - Anya Shenanigans
1个回答

3
ls -l `pwd`/mysymlinkname | awk '{print $NF}'

将其存储到变量中:

VARIABLE=$(ls -l `pwd`/mysymlinkname | awk '{print $NF}')

为什么/什么时候需要\pwd`/`? - Harvey
啊,可能不是必需的,但也无妨。 :) - Danny Daglas
这会造成不方便,因为它需要生成一个子Shell并使用"pwd"的内建函数。相比之下,"$PWD"是一个变量扩展。话虽如此,这也完全没有意义,因为对于当前目录来说,"."同样有效(或者干脆都不包括它们)。 - Etan Reisner
@EtanReisner -l 没有意义吗?我不这么认为。没有它,你只能得到链接名称而不是目标路径,而我想要的是目标路径。或者我有什么遗漏吗? - Harvey
1
@Harvey 啊,没错。抱歉。话虽如此,评论中提到的readlink确实是一个更好的答案。 - Etan Reisner
@EtanReisner 非常好!这让我的工作变得简单多了。 - Harvey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接