新聞中心

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

        Unix使用技巧:如何讓提示符中包含當(dāng)前路徑

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


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


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



        關(guān)鍵詞:

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 沙坪坝区| 勃利县| 革吉县| 定兴县| 洛南县| 泰安市| 三明市| 象山县| 镇平县| 安塞县| 确山县| 苍溪县| 镇宁| 和硕县| 开鲁县| 天长市| 尼木县| 若羌县| 汉阴县| 兴宁市| 马山县| 天长市| 唐山市| 肥乡县| 岳普湖县| 皮山县| 南华县| 大余县| 泗阳县| 陈巴尔虎旗| 广南县| 蒙城县| 玉田县| 应城市| 贡山| 安义县| 顺昌县| 石门县| 页游| 保靖县| 井陉县|