Symbolic Links - BASH Script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Symbolic Links - BASH Script
# 1  
Old 09-04-2007
Tools Symbolic Links - BASH Script

Hi all,

This is my first message in this forum.
I'd like to know if there is a nice way to get the complete path from a symbolic link.

Example:
When I do a ls -ltr I see this output.

lrwxr-xr-x 1 mmmm users 66 Sep 4 09:58 LINK_SEND -> /apps/aaa/home/mmmm/FFFFF/Apps/RRRRRR/unit_tests/TARGET_SEND

I just want to get the string in bold. I know I can do it with a simple cut, but is there a better way?

Thanks!
Rodrigo from Argentina
# 2  
Old 09-04-2007
You mean apart from "readlink"?
# 3  
Old 09-05-2007
The link points to an executable file. I want to get the directory where the executable file is allocated.

How can I do that?
Thanks in advance

Rodrigo
# 4  
Old 09-05-2007
One way:
Code:
$ cat basher
#!/usr/local/bin/bash
string="lrwxr-xr-x 1 mmmm users 66 Sep 4 09:58 LINK_SEND -> /apps/aaa/home/mmmm/FFFFF/Apps/RRRRRR/unit_tests/TARGET_SEND"
echo $string
string=${string##* }
echo $string
string=${string%/*}
echo $string
exit 0
$
$
$ ./basher
lrwxr-xr-x 1 mmmm users 66 Sep 4 09:58 LINK_SEND -> /apps/aaa/home/mmmm/FFFFF/Apps/RRRRRR/unit_tests/TARGET_SEND
/apps/aaa/home/mmmm/FFFFF/Apps/RRRRRR/unit_tests/TARGET_SEND
/apps/aaa/home/mmmm/FFFFF/Apps/RRRRRR/unit_tests
$

# 5  
Old 09-05-2007
Quote:
Originally Posted by rodrimuino
The link points to an executable file. I want to get the directory where the executable file is allocated.

If you have the readlink command:
Code:
file=/path/to/file  ## adjust to taste
target=$( readlink "$file" )

If not:
Code:
file=/path/to/file  ## adjust to taste
temp=$( ls -l "$file" )
target=${temp#* -> }

Then you can extract the directory portion and the filename portion from $target:
Code:
target_dir=${target%/*}
target_file=${target##*/}

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script for creating symbolic links to my photos (*.JPG)

Hi, I have all my pictures as *.JPG and *.CR2 in the following folder structure: /media/a_2TB/pictures/year/year-month-day-hour/picture*.* But sometimes I added a subdirectory --> /media/a_2TB/pictures/year/year-month-day-hour/suba/picture*.*... (3 Replies)
Discussion started by: 8200
3 Replies

2. Solaris

Symbolic links

Soft link,Hard link brief explanation (1 Reply)
Discussion started by: RAJU KAVATI
1 Replies

3. Shell Programming and Scripting

How to change symbolic links via script

Hello, the install routine puts automatically the servername "SERVER" in the symlink like: hello.txt --> /SERVER/usr/lpp/hello.txt world.txt --> /SERVER/usr/lpp/world.txt ... but i need to change this symlinks (without servername) to: hello.txt --> /usr/lpp/hello.txt world.txt -->... (3 Replies)
Discussion started by: smitty11
3 Replies

4. UNIX for Dummies Questions & Answers

Permissioning for symbolic links

I've just started using UNIX in a Linux vmplayer. I'm trying to run the command: ln -s `pwd`/$1 `python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"`/$1 in a script from an online tutorial, but I keep getting an error message: ln: creating symbolic link... (1 Reply)
Discussion started by: ChipT
1 Replies

5. UNIX for Dummies Questions & Answers

Symbolic Links

Hi all, I have scoured the entire forum for this but to no avail unfortunately. Basically, I would like to remove my symbolic link from my folder name i.e. foldername -> /a/b/c/d/f where f is indeed a folder. I have tried rmdir but this does not work and in actual fact deletes the... (4 Replies)
Discussion started by: cyberfrog
4 Replies

6. Shell Programming and Scripting

ksh Script to Generate Symbolic Links

I'm writing a ksh script which will reference a text file I have to create symbolic links for my application: --file contents-- Link Directory Link Source Link Name /users/05/dwisconbug bin link2bin Now, this should create the following... (1 Reply)
Discussion started by: dwisconbug
1 Replies

7. AIX

Symbolic Links

I am linking a directory as follows: ln -sf /home/xxx/userid/real_files/* /home/xxx/userid/linked_files This gives me symbolic links for all the files in the real_files directory in the linked_files directory. My question is, if I go and remove a file in the real_files directory and then go... (1 Reply)
Discussion started by: rcarnesiii
1 Replies

8. Solaris

cp a dty without symbolic links?

Hi, - we have copy (cp command) to do to save all the contents of a dty BUT we dont want to copy the files corresponding to symbolic links contained whithin this dty - the box is a sun solaris one - and the cp commande do not say avything about that? thanks for help Jakez (7 Replies)
Discussion started by: JAKEZ
7 Replies

9. UNIX for Dummies Questions & Answers

Symbolic Links for a File

how do i get the list of symbolic link names for a particular file programatically (4 Replies)
Discussion started by: b_u_n_1234
4 Replies

10. UNIX for Dummies Questions & Answers

Finding symbolic links

How can I find all symbolic links across the network to a directory (2 Replies)
Discussion started by: mehtad
2 Replies
Login or Register to Ask a Question