• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • bash 配置文件/提示符/改變 $PATH

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    在您的 home 目錄下,運行 ls .bash* 您將看到這些文件: l .bash_history :記錄了您以前輸入的命令, l .bash_logout :當您退出 shell 時,要執行的命令, l .bash_profile :當您登入 shell 時,要執行的命令, l .bashrc :每次打開新的 shell 時,要執
    在您的 home 目錄下,運行

    ls .bash*

    您將看到這些文件:

    l .bash_history :記錄了您以前輸入的命令,

    l .bash_logout :當您退出 shell 時,要執行的命令,

    l .bash_profile :當您登入 shell 時,要執行的命令,

    l .bashrc :每次打開新的 shell 時,要執行的命令。

    bash 配置文件

    在您的 home 目錄下,運行

    ls .bash*

    您將看到這些文件:

    l .bash_history :記錄了您以前輸入的命令,

    l .bash_logout :當您退出 shell 時,要執行的命令,

    l .bash_profile :當您登入 shell 時,要執行的命令,

    l .bashrc :每次打開新的 shell 時,要執行的命令。

    請注意后兩個的區別:'.bash_profile'只在會話開始時被讀取一次,而'.bashrc'則每次打開新的終端(如新的 xterm 窗口)時,都要被讀取。按照傳統,您得將定義的變量,如 PATH ,放到'.bash_profile'中,而象 aliases(別名)和函數之類,則放在'.bashrc'。但由于'.bash_profile'經常被設置成先讀取'.bashrc'的內容,您如果圖省事的話,就把所有配置都放進'.bashrc'。

    這些文件是每一位用戶的設置。系統級的設置存儲在'/etc/profile'、'/etc/bashrc'及目錄'/etc/profile.d'下的文件中。但您得習慣用各自的配置文件:編輯不需要'root'權限,還可以使您的設置更有個性。當系統級與用戶級的設置發生沖突時,將采用用戶的設置
    提示符

    每次當您打開一個控制臺(console)或 xterm 時,最先看到的就是提示符(prompt),類似于:

    aclearcase/" target="_blank" >ccount@hostname ~ $

    在默認設置下,提示符將顯示您的用戶名、主機名(默認是'localhost')、當前所在目錄(在 Unix 中,'~'表示您的 home 目錄)。

    按照傳統,最后一個字符可以標識您是普通用戶($),還是'root'(#)。

    您可以通過 $PS1 變量來設置提示符。命令

    echo $PS1

    將顯示當前的設定。其中可用字符的含義在 man bash 的'PROMPTING'部分有說明。

    如何才能完成理想的設置呢?對于健忘的初學者來講,默認設定有些不友好,因為提示符只顯示當前目錄的最后一部分。如果您看到象這樣的提示符

    tom@localhost bin $

    您的當前目錄可能是'/bin'、'/usr/bin'、'/usr/local/bin'及'/usr/X11R6/bin'。當然,您可以用

    pwd (輸出當前目錄,print working directory)

    能不能叫 shell 自動告訴您當前目錄呢?

    當然可以。這里我將提到的設定,包括提示符,大都包含在文件'/etc/bashrc'中。您可以通過編輯各自 home 目錄下的'.bash_profile'和'.bashrc'來改變設置。

    在 man bash 中的'PROMPTING'部分,對這些參數(parameter)有詳細說明。您可以加入一些小玩意,如不同格式的當前時間,命令的歷史記錄號,甚至不同的顏色。

    在'~/.bashrc'中,我喜歡的設定是:

    PS1="\[3[1m\][\w]\[3[0m\] "

    'root'在'~/.bashrc'中的設定 是:

    PS1="\[3[0;31m\][\w]\[3[0m\] "

    這樣我得到的提示符就是:

    [/usr/bin]

    當用'root'時,變成:

    [/usr/bin]

    我已經除掉了主機名和用戶名,因為我用不著這些。但我首先想一眼就能看出我的身份是普通用戶還是'root'。注意到,普通用戶的提示符可以是黑底白字,或白底黑字。

    要在終端上獲得恰當的顏色調配, 您可以編輯下面這個腳本color ,賦予執行權限(chmod +x color),然后再運行。

    #!/bin/bash

    #

    # This file echoes a bunch of color codes to the

    # terminal to demonstrate what's available. Each

    # line is the color code of one forground color,

    # out of 17 (default + 16 escapes), followed by a

    # test use of that color on all nine background

    # colors (default + 8 escapes).

    #

    T='gYw' # The test text

    echo -e "\n 40m 41m 42m 43m\

    44m 45m 46m 47m";

    for FGs in ' m' ' 1m' ' 30m' Ƈ30m' ' 31m' Ƈ31m' ' 32m' \

    Ƈ32m' ' 33m' Ƈ33m' ' 34m' Ƈ34m' ' 35m' Ƈ35m' \

    ' 36m' Ƈ36m' ' 37m' Ƈ37m'

    do FG=${FGs// /}

    echo -en " $FGs 3[$FG $T "

    for BG in 40m 41m 42m 43m 44m 45m 46m 47m;

    do echo -en "$EINS 3[$FG3[$BG $T 3[0m";

    done

    echo;

    done

    echo

    一種更適當的設定:

    PS1="\u: \w\$ "

    這樣,提示符就變成:

    user_name: /usr/bin$

    您可以通過命令 export 來測試不同的設置(比如,export PS1="\u: \w\$ ")。如果找到了適合的提示符,就將設置放到您的'.bashrc''中。這樣,每次打開控制臺或終端窗口時,都會生效。

    您甚至可以給提示符設定主題(theme),也就是搭配不同的顏色,使其看起來象很棒的 ol
    的 C64 提示符。如果您對此感興趣,可以看一下
    Bashish(
    http://hem.passagen.se/arnognulf/index2.html)。

    改變 $PATH

    '$PATH'與'$PS1'一樣,也是環境變量。輸入

    set

    將列出所有當前定義的環境變量。

    您看到的這些環境變量在 shell 的配置文件中定義,可能是用戶自己的配置文件,也可能是由'root'通過'/etc'下面的系統級文件定義的。如果您使用 X ,更多的一些變量將由 X 、您的窗口管理器或桌面環境的啟動文件配置。

    如果對這些設置不很清楚,您暫時最好不要隨便改動。了解如何改變 $PATH 變量很有用,因為這個變量決定了 shell 將到哪些目錄中尋找命令或程序。如果要執行的命令的目錄在 $PATH 中,您就不必輸入這個命令的完整路徑,直接輸入命令就可以了。一些第三方軟件沒有將可執行文件放到 Linux 的標準目錄中。因此,將這些非標準的安裝目錄添加到 $PATH 是一種解決的辦法。此外,您也將看到如何處理一般的環境變量。

    首先,作為慣例,所有環境變量名都是大寫。由于 Linux 區分大小寫,這點您要留意。當然,您可以自己定義一些變量,如'$path'、'$pAtH',但 shell 不會理睬這些變量。

    第二點是變量名有時候以'$'開頭,但有時又不是。當設置一個變量時,您直接用名稱,而不需要加'$':

    PATH=/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin

    要獲取變量值的話,就要在變量名前加'$':

    echo $PATH

    /usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin

    否則的話,變量名就會被當作普通文本了:

    echo PATH

    PATH

    處理 $PATH 變量要注意的第三點是:您不能只替換變量,而是要將新的字符串添加到原來的值中。在大多數情況下,您不能用'PATH=/some/directory',因為這將刪除 $PATH 中其他的所有目錄,這樣您在該終端運行程序時,就不得不給出完整路徑。所以,只能作添加:

    PATH=$PATH:/some/directory

    這樣,PATH 被設成當前的值(以 $PATH 來表示)+新添的目錄。

    到目前為止,您只為當前終端設置了新的 $PATH 變量。如果您打開一個新的終端,運行 echo $PATH ,將返回舊的 $PATH 值,而看不到您剛才添加的新目錄。因為您先前定義的是一個局部環境變量(僅限于當前的終端)。

    要定義一個全局變量,使在以后打開的終端中生效,您需要將局部變量輸出(export),可以用'export'命令:

    export PATH=$PATH:/some/directory

    現在如果您打開一個新的終端,輸入 echo $PATH ,也能看到新設置的 $PATH 了。請注意,命令'export'只能改變當前終端及以后運行的終端里的變量。對于已經運行的終端沒有作用。

    為了將目錄永久添加到您的 $PATH ,只要將'export'的那行添加到您的'.bash_profile'文件中.

    #vi ~/.bash_profile

    請不要在'.bashrc'中設置 PATH ,否則會導致 PATH 中目錄的意外增長。您每次打開一個新的 shell ,'.bashrc'都會作用。所以如果在該文件中添加目錄,您每次打開一個終端,目錄又會被添加。這將導致 PATH 變量由于目錄復制,不斷地增長。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>