是否有可能在bash中检索符号文件的绝对路径?我不能使用realpath()和readlink()给出目标路径。但我需要那个符号链接的绝对路径。
答案 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发行版中)