adding a folder to my path

Andrew DeFaria Andrew@DeFaria.com
Wed Jan 2 20:00:00 GMT 2013


On 1/2/2013 9:18 AM, LMH wrote:
> I think this is a cygwin question, though it is certainly a general 
> linux question as well. I would like to divide up and organize some of 
> the apps and links in my path directories (such as /usr/local/bin) 
> into sub directories. If I add a folder to /usr/local/bin, that folder 
> is not in my path. Can someone give me the instructions for adding a 
> folder such as /usr/local/bin/ruby_viewer/ to my path?
This is a basic question that is shell specific and all.

What I do is I have a function, called append_to_path:

    append_to_path ()
    {
         component="$1";
         if [ -d "$component" ]; then
             if [ -z "$PATH" ]; then
                 PATH="$component";
             else
                 PATH="$PATH:$component";
             fi;
         fi
    }

It appends to the PATH IFF the component passed in is a directory that 
exists. This allows me to loop through a set of directories knowing that 
only those that exist will end up on the path:

    systemroot=$(cygpath -u $SYSTEMROOT)
    path_dirs="\
       .\
       "$HOME/bin"\
       "/opt/Rational/Clearcase/bin\
       ...
       "/usr/local/bin"\
       ...
       $systemroot/System32\
       $systemroot

    PATH=
    for component in $path_dirs; do
       append_to_path "$component"
    done

This allows me to set my PATH from scratch exactly how I want it. I add 
Unix paths, Solaris paths, HP_UX paths, FreeBSD paths and Windows paths 
to path_dirs. The net result is that I get the right set of paths on 
each of these systems dynamically.

YMMV.
-- 
Andrew DeFaria <http://defaria.com>
This space for rent


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list