新聞中心

        EEPW首頁 > 嵌入式系統 > Unix使用技巧:如何讓提示符中包含當前路徑

        Unix使用技巧:如何讓提示符中包含當前路徑

        ——
        作者: 時間:2006-03-25 來源: 收藏
            用慣了DOS的伙計剛用Unix時最想干的事情就是想把Unix搞得像DOS一些,
        其中的一條就是把Unix的提示符設置成$p$g那樣的。下面就說一說做的方法。
         
            不同的SHELL設置的方法不同,比較方便的是GNU bash(Bourne Again Shell)
        和ksh(Korn Shell)以及tcsh(csh的增強版,Linux中的csh就是到tcsh的一個
        符號連接)。普通的sh(Bourne Shell)和csh設置比較羅嗦。下面就一個一個的
        說各種Shell的設置方法:
         
        ksh:
            由于ksh把提示符變量PS1作為一個特殊的變量看待,cd的時候ksh會自動更
            新PS1的值所以只要簡單的把當前路徑對應的環境變量$PWD加到PS1里就行了:
         
                PS1=’$PWD $ ’
         
        sh:
            由于Bourne Shell只把PS1作為一個普通的變量,而且不支持別名,因此無


            法完美地實現DOS中相同的功能,解決的方法是重新定義一個命令(比如xcd)
            將其實現為一個函數:
         
                xcd() { cd $* ; PS1="`pwd` $ "; }
         
            然后每次用xcd切換目錄。
         
        csh:
            csh雖然不對提示符變量$prompt作特殊處理,但它支持別名,可以修改一下
            cd的語義,使其自動修改提示符:
         
                alias setprompt ’set prompt="${cwd}% "’
                setprompt# to set the initial prompt
                alias cd ’chdir !* && setprompt’
         
        bash:
            bash提供了一些特殊的變量來支持提示符的設置,w表示當前路徑,并把
            等同于$HOME的部分替換成~,以縮短提示符的長度。
         
                PS1=’w $ ’
         
            Linux中是把hostname也加上了:


                PS1=’h:w $ ’          # h 表示hostname
         
            為了更象DOS,可以把不同的命令分得更清楚,我通常加上一個換行符:
         
                PS1=’
                h:w $ ’
         
        tcsh:
            tcsh的做法類似于bash,只不過變量的名字不同:
         
                set prompt=’%~ ’        # %~ 表示當前路徑



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 抚松县| 台北县| 西峡县| 化隆| 宾阳县| 张家港市| 湾仔区| 法库县| 彭山县| 瑞昌市| 新田县| 绥阳县| 营山县| 潮安县| 临夏县| 特克斯县| 宁晋县| 兴城市| 繁峙县| 石家庄市| 新营市| 轮台县| 昭觉县| 邵阳县| 清水河县| 远安县| 临西县| 竹山县| 阿拉善左旗| 临猗县| 常宁市| 甘孜| 武宁县| 禄丰县| 澎湖县| 邳州市| 枣阳市| 浦县| 汕尾市| 丽江市| 宾川县|