符号链接的绝对路径

时间:2015-04-06 03:40:27

标签: linux bash symlink realpath readlink

是否有可能在bash中检索符号文件的绝对路径?我不能使用realpath()和readlink()给出目标路径。但我需要那个符号链接的绝对路径。

1 个答案:

答案 0 :(得分:0)

这是作业吗?我无法想象你不会被允许使用readlink的真实情况,但无论如何,只是为了好玩,这里有一个黑客脚本来获取作为参数提供的符号链接的完整路径:

对于示例,我将使用指向/ bin /通常的符号链接pidof,但它是/ sbin / killall5(Ubuntu)的符号链接

#!/bin/bash

linkpath="$(which $1)"

line="$(ls -la $linkpath)"

realpath="$(echo $line | awk '{print $NF}')"

echo "Full path is: $realpath"

exit

输出:

user@system:~/Desktop$ ./test.sh pidof
Full path is: /sbin/killall5
user@system:~/Desktop$ 

这可行的原因是因为ls的输出显示了符号链接的完整路径。 (至少在Debian发行版中)