hits_lucky
hits_lucky

Reputation: 337

how to check if a path is actual or symbolic link

I am writing my own shell program. I am currently implementing the cd command using chdir. I want to implement the cd with the below options :

When a given path is entered on the shell, how to figure out if the path is a symbolic link or an absolute path progamatically?

Thanks

Upvotes: 1

Views: 5993

Answers (2)

Unknown
Unknown

Reputation: 5772

Check out the lstat() function , you need to use S_ISLNK on the st_mode field.

Upvotes: 3

zed_0xff
zed_0xff

Reputation: 33217

if [ -L /path/to/file ]; then
  echo "is a symlink!"
else
  echo "not a symlink! maybe a directory or regular file, or does not exist"
end

Upvotes: 3

Related Questions