Monday, December 24, 2012

Shell script/command to convert relative to Absolute path


Q. How can I convert a relative path to absolute path for using them in shell script.

Some times it required to get absolute path from a given relative path. For example I am in /home/surendra and relative path to /etc/apache2 will be ../../etc/apache2 for this relative path I require absolute path so that the value is constant with the script irrespective of my directory changes. This can be acheived by using command readlink.

Syntax:
readlink -f relativepath

Example1: I am at /home/surendra I want to know what will be the absolute path to ../../etc/ from that directory.


surendra@linuxnix.com:~$ pwd
/home/surendra

surendra@linuxnix.com:~$ readlink -f ../../etc
/etc

Example2: I am at /etc/samba and I have ../apache/mods-enabled which is relative to /etc/samba, I want to know the absolute path.

surendra@linuxnix.com:~$ cd /etc/samba/

surendra@linuxnix.com:/etc/samba$ readlink -f ../apache2/mods-enabled/
/etc/apache2/mods-enabled

0 comments:

Post a Comment