<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評(píng)論 :: 0 Trackbacks

    When you run a command from a UNIX or UNIX-like shell, the shell looks for the executable file using the directories listed in your PATH variable as a map. For convenience, adding directories to this environment variable means you don’t have to go hunting for a file each time you run it. Following these directions will allow you to add a directory to the search PATH.


    To change your path, you must edit the .profile file in your home directory. If you are comfortable using the vi editor, you probably don’t need to read any further. If not, then you can use TextEdit to edit your .profile.

    The default .profile is fairly short. The .profile is read when you open a Terminal window and each line is executed just like typing a command into the Terminal window. While this is handy because you can make any available command run whenever you drop to a shell, we’re concerned with changing an environment variable, PATH.

    In your editor, find the line that starts with export PATH= and give it a look to make sure it doesn’t already contain the directory path you’re going to add. Sometimes the PATH variable can get lengthy, but chances are yours just has a few directories separated by colons, perhaps something like this:

    export PATH=/opt/local/bin:/opt/local/sbin:$PATH

    There are a few things to note before making changes. The format of this line is important. The use of spaces in this command, or their lack, matters. In particular, there cannot be spaces around the equals sign or between any of the directories. If there are spaces in the directory name you want to add, you’ll need to escape the space by preceeding it with a "backslash or by putting the path in quotes (export PATH=”/path/here”).

    The export= keyword in front of that line has a very specific purpose. Defining a variable without exporting it makes it available only to the current shell, not to any subsequent shells. You may think to yourself that you don’t plan to make any subsequent shells, but this happens whenever you run a shell script. If the PATH variable was not exported, when you run a shell script, the PATH would no longer exist and it is possible that the script would fail.

    The $PATH at the end of the example above tacks the previous value of the variable (if it exists) onto the end of the PATH. By default, this will add ‘:/bin:/sbin:/usr/bin:/usr/sbin’ to the end of the PATH for you which is useful because most everything you run from the command line lives there.

    So, to add a new directory to the path, simply add it to the existing PATH line in .profile being careful to separate it from other directories there with colons and careful not to introduce unwanted spaces (everything after the space will be ignored). For example, to add the directory /mightyq/bin to the PATH shown above, the line could become any of the following examples:

    export PATH=/mightyq/bin:/opt/local/bin:/opt/local/sbin:$PATH
    export PATH=/opt/local/bin:/mightyq/bin:/opt/local/sbin:$PATH
    export PATH=/opt/local/bin:/opt/local/sbin:$PATH:/mightyq/bin

    Note that in the third example the new directory is added to the end of the PATH. You have the ability to optimize the searches your shell will do on your behalf each time you run a command by organizing your PATH logically. Putting less frequently used or really massive directories later in the path may give you a little performance boost (although these days things are pretty fast, so you have to be a little anal to really enjoy this).

    If you don’t need a directory in your path, you can reverse the process by deleting the unwanted directory still taking care to preserve the no spaces, colon separation rules.

    One last note, to test the change you made, you can use the echo command, but you need to make the shell reload the .profile first. Assuming you are in your home directory (if not, running ‘cd’ without any options will take you there), run these commands:

    . ./.profile
    echo $PATH

    The first is a neat little command in that it shows three uses or interpretations of the period in a single line. The first . is a shortcut to cause the shell to ’source’ or load the contents of the subsequent file as itself, in the manner that the shell uses when you login to a system or start a Terminal window. If you simply executed these commands like a shell script (bash .profile, for example) you would start a new shell, that shell would get the variable set, and at the end of running the .profile script, that new shell would cease to exist and the newly defined variables would be relegated to the missing sock universe.

    The second period means the current working directory. It’s not compulsory in any way in this command, but it’s habit from explaining the dots to folks, so I type it all the time now. In this context, you could also use ~/.profile as ~ explicitly means your home directory.

    The last dot causes the .profile to be hidden from view in a normal directory listing or Finder view. It doesn’t change the file in any other way, it just make it invisible and de-clutters your directories. To see hidden files, you can use ‘ls -a’ and you might be surprised by what you find.

    posted on 2010-04-27 23:08 seal 閱讀(829) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Apple
    主站蜘蛛池模板: 香港经典a毛片免费观看看| 十九岁在线观看免费完整版电影| 亚洲综合区小说区激情区| 国产成人免费ā片在线观看老同学 | 国产青草亚洲香蕉精品久久| 亚洲国产婷婷香蕉久久久久久| a级毛片免费观看视频| 亚洲人成影院午夜网站| 亚洲国产精品一区二区第一页免| 98精品全国免费观看视频| 亚洲AV日韩AV无码污污网站| 亚洲AV无码乱码国产麻豆穿越| 好爽…又高潮了免费毛片| a级成人毛片免费视频高清| 亚洲日韩中文字幕一区| 亚洲AV色香蕉一区二区| 免费一区二区三区四区五区| 1000部夫妻午夜免费| 一区二区三区免费高清视频| 亚洲第一成人在线| 国产成人亚洲精品青草天美| 啊v在线免费观看| 国产大片线上免费观看| 免费观看成人久久网免费观看| 久久亚洲精品无码av| 亚洲成人网在线播放| 国产成人亚洲精品狼色在线| 成人黄动漫画免费网站视频 | 国产午夜无码精品免费看| 亚洲av无码片vr一区二区三区 | 亚洲精品伊人久久久久| 亚洲国产精品无码久久一区二区| 国产伦精品一区二区三区免费迷| 美女内射毛片在线看免费人动物| a毛片免费观看完整| 特级无码毛片免费视频| 亚洲欧美一区二区三区日产| 亚洲ts人妖网站| 亚洲第一网站免费视频| 久久精品7亚洲午夜a| 丁香五月亚洲综合深深爱|