分享

Setting your search path

 engineer 2010-03-19

Setting your search path

The basics of the search path

(Since the notion of the search path is critical for your working environment, we're going to spend a few pages discussing it. You'll thank me for this some day. Really.)

Just as it does in the Windows world, the PATH shell variable represents your command search path -- an ordered, colon-separated list of directories that are searched, left to right, for every command that you execute. Each user has the freedom to define their own personal search path, which you can display as shown below (which also shows a fairly typical example of a search path):

$ echo $PATH
/bin:/usr/bin:/usr/X11R6/bin:/home/username/bin:.

 

Typically, the search path begins with a small number of standard system directories such as /bin, /usr/bin and /usr/X11R6/bin, possibly some extra directories for third-party or locally-installed software such as /usr/local/bin and, finally, perhaps a few personally-chosen directories of your own at the end. And who decides what your search path will eventually look like? Your personal search path is typically the end result of piece-by-piece construction by a number of programs and login-time configuration files such as:

  • /bin/login
  • /etc/profile
  • /etc/profile.d/*.sh
  • ~/.bash_profile

The sample list above just emphasizes how many files and programs may have a hand in building the final search path, but it's important to note that you, the user, have the final say since it's your personal .bash_profile startup file that is consulted last.

If, at any time, you want to extend your search path temporarily just for the duration of the rest of this login session, you can add a new entry to the end at the command prompt with (for example):

$ PATH=$PATH:/usr/games

 

If, however, you want to make a permanent change, you should do this in your personal .bash_profile, and your new path will take effect at the next login.

Tip

If you want to execute a program from a directory that is currently not in your search path, there's no need to add that directory to the path. Just type the fully-qualified name of the executable, as in:

$ /usr/games/fortune
            

 

Tip

Regardless of what anyone else tells you, there is little value in exporting your PATH variable. This variable is used primarily for locating executable commands, not for passing any useful information to them. It probably won't hurt to export PATH, but it's unlikely to have any benefit.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多