How I can know if file1
is a symbolic link to a file2
?
I need an if condition.
Asked
Active
Viewed 326 times
2

Stephen Kitt
- 434,908

Edward
- 19
1 Answers
3
You can use the -h
test to determine whether a file is a symbolic link, and -ef
to check if it links to a given file (note that -ef
isn’t specified by POSIX):
if [ -h file1 ] && [ file1 -ef file2 ]; then
echo 'file1 is a symbolic link and equivalent to file2'
fi

Kusalananda
- 333,661

Stephen Kitt
- 434,908
-
I suppose both files could be two different names for the same symbolic link too, pointing to some third pathname, but that might be a too weird edge case. – Kusalananda Jun 05 '22 at 09:26