This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: adding a folder to my path


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]