当你在shell命令行界面中输入一个外部命令时(参见第5章),shell必须搜索系统来找到对应
    的程序。PATH环境变量定义了用于进行命令和程序查找的目录。在本书所用的Ubuntu系统中,
    PATH环境变量的内容是这样的:

    $ echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
    /sbin:/bin:/usr/games:/usr/local/games
    $

    输出中显示了有8个可供shell用来查找命令和程序。PATH中的目录使用冒号分隔。
    如果命令或者程序的位置没有包括在PATH变量中,那么如果不使用绝对路径的话,shell是没
    法找到的。如果shell找不到指定的命令或程序,它会产生一个错误信息:

    $ myprog
    -bash: myprog: command not found
    $

    问题是,应用程序放置可执行文件的目录常常不在PATH环境变量所包含的目录中。解决的
    办法是保证PATH环境变量包含了所有存放应用程序的目录。
    可以把新的搜索目录添加到现有的PATH环境变量中,无需从头定义。PATH中各个目录之间
    是用冒号分隔的。你只需引用原来的PATH值,然后再给这个字符串添加新目录就行了。可以参
    考下面的例子。

    $ echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
    /sbin:/bin:/usr/games:/usr/local/games
    $
    $ PATH=$PATH:/home/christine/Scripts
    $
    $ echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/
    games:/usr/local/games:/home/christine/Scripts
    $
    $ myprog
    The factorial of 5 is 120.
    $
    将目录加到PATH环境变量之后,你现在就可以在虚拟目录结构中的任何位置执行程序。 $ cd /etc
    $
    $ myprog
    The factorial of 5 is 120
    $


    窍门 如果希望子shell也能找到你的程序的位置,一定要记得把修改后的PATH环境变量导出。


    程序员通常的办法是将单点符也加入PATH环境变量。该单点符代表当前目录(参见第3章)。

    $ PATH=$PATH:.
    $
    $ cd /home/christine/Old_Scripts
    $
    $ myprog2
    The factorial of 6 is 720
    $

    对PATH变量的修改只能持续到退出或重启系统。这种效果并不能一直持续。在下一节中,
    你会学到如何永久保持环境变量的修改效果。