新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 關于根文件系統中命令行提示符的顯示

        關于根文件系統中命令行提示符的顯示

        作者: 時間:2012-07-23 來源:網絡 收藏

        我們經常用busybox生成根,可是根起來以后符只有一個“#”號,沒有像linux發行版那樣是[user@hoSTnAME currentpath] #,那么我們這里就說說如何讓我們的根按這個方式

        本文引用地址:http://www.104case.com/article/148739.htm

        要修改符,首先我們需要知道一個環境變量PS1,我們可以查看bash的幫助文檔查看PS1的說明:

        bash有兩級符,我們這里說的是第一級,這一級缺省的提示符是字符“$”(超級用戶是“#”),我們可以通過修改PS1修改這個提示符,格式為:

        PS1=”command list”

        命令列表有很多參數如下:

        ! 該命令的歷史記錄編號。

        # 當前命令的命令編號。

        $ 顯示$符作為提示符,如果用戶是root的話,則顯示#號。

        顯示反斜杠。

        d 顯示當前日期。

        h 顯示主機名。

        n 打印新行。

        nnn 顯示nnn的八進制值。

        s 顯示當前運行的shell的名字。

        t 顯示當前時間。

        u 顯示當前用戶的用戶名。

        W 顯示當前工作目錄的名字。

        w 顯示當前工作目錄的路徑

        我們查看我們發行版linux中的PS1.

        $echo echo $PS1

        [u@h W] $

        看了發行版是如何顯示命令行提示符,那么我們再看一下為什么我們做的根文件系統只顯示一個#,用busybox生成的根文件系統使用的是ash,我們看下busybox中ash的文件。

        在busybox-1.15.4/shell/ash.h中有這樣的語句

        /*

        * PS1 depends ON uid

        */

        #if ENABLE_FEATURE_EDITING ENABLE_FEATURE_EDITING_FANCY_PROMPT

        vps1.text = PS1=w $ ;

        #else

        if (!geteuid())

        vps1.text = PS1=# ;

        #endif

        結合上面PS1參數我們可以看出在busybox生成的根文件系統中可能出現兩種顯示方式,一種是“currentpath $”另一種是 “#”這兩種顯示在較老的版本中都有。

        按照上面的方法修改我們的根文件系統中的命令行提示符。首先我們需要修改buxybox中配置,添加如下兩個選項:

        Busybox Settings --->

        Busybox Library Tuning --->

        [*] Username completion

        [*] Fancy shell prompts

        如果不選擇上面兩項,文件系統是不是別PS1這個環境變量的參數的。

        創建/etc/hostname添加如下內容(我們的主機名):

        farsight

        修改/etc/init.d/rcS添加如下內容(導入主機名配置文件):

        /bin/hostname –F /etc/hostname

        修改根文件系統中/etc/profile文件添加如下內容:

        HOSTNAM=`/bin/hostname`

        PS1=`[u@h W]# `

        export PS1 HOSTNAME

        創建/etc/passwd添加如下內容:

        root:x:0:0:root:/root:/bin/sh

        這個時候我們重新啟動我們的開發板會發現命令行提示符已經是我們想要的那種現實了:

        [root@farsight /etc] #



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 定远县| 浠水县| 南陵县| 长沙市| 宜昌市| 买车| 宜兴市| 屏南县| 达孜县| 永清县| 龙井市| 娄底市| 得荣县| 奇台县| 文化| 青铜峡市| 迭部县| 横山县| 陆良县| 汝州市| 盐城市| 无极县| 永寿县| 吉安县| 沁源县| 渭南市| 长沙县| 青龙| 拉萨市| 长垣县| 靖边县| 东海县| 凤凰县| 甘德县| 许昌市| 柳州市| 宣汉县| 绥阳县| 伊吾县| 琼结县| 沾益县|