Often times one uses a single .profile or .bashrc across several hosts. These hosts may be differently configured, with varying directory locations, and different initial PATH values from /etc/profile. In situations like this, setting PATH the traditional way -- "PATH=$PATH:/path/to/some/stuff" -- can result in a cumbersomely long PATH that includes inaccessible or duplicate folders.
The snippet below nicely handles this problem. It has been tested on Solaris and Linux.
AddPath ()
{
_folder=$1
echo " $PATH " | sed 's/:/ /g' | grep " $_folder " > /dev/null
[ $? -ne 0 ] && [ -d $_folder ] && [ -x $_folder ] && PATH=$PATH:$_folder
export PATH
}
AddPath /usr/bin
AddPath /usr/local/bin
AddPath /opt/somepackage/bin