色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于根文件系統(tǒng)中命令行提示符的顯示

          關(guān)于根文件系統(tǒng)中命令行提示符的顯示

          作者: 時(shí)間:2012-07-23 來源:網(wǎng)絡(luò) 收藏

          我們經(jīng)常用busybox生成根,可是根起來以后符只有一個(gè)“#”號(hào),沒有像linux發(fā)行版那樣是[user@hoSTnAME currentpath] #,那么我們這里就說說如何讓我們的根按這個(gè)方式。

          本文引用地址:http://cafeforensic.com/article/148739.htm

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

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

          PS1=”command list”

          命令列表有很多參數(shù)如下:

          ! 該命令的歷史記錄編號(hào)。

          # 當(dāng)前命令的命令編號(hào)。

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

          顯示反斜杠。

          d 顯示當(dāng)前日期。

          h 顯示主機(jī)名。

          n 打印新行。

          nnn 顯示nnn的八進(jìn)制值。

          s 顯示當(dāng)前運(yùn)行的shell的名字。

          t 顯示當(dāng)前時(shí)間。

          u 顯示當(dāng)前用戶的用戶名。

          W 顯示當(dāng)前工作目錄的名字。

          w 顯示當(dāng)前工作目錄的路徑

          我們查看我們發(fā)行版linux中的PS1.

          $echo echo $PS1

          [u@h W] $

          看了發(fā)行版是如何顯示命令行提示符,那么我們再看一下為什么我們做的根文件系統(tǒng)只顯示一個(gè)#,用busybox生成的根文件系統(tǒng)使用的是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

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

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

          Busybox Settings --->

          Busybox Library Tuning --->

          [*] Username completion

          [*] Fancy shell prompts

          如果不選擇上面兩項(xiàng),文件系統(tǒng)是不是別PS1這個(gè)環(huán)境變量的參數(shù)的。

          創(chuàng)建/etc/hostname添加如下內(nèi)容(我們的主機(jī)名):

          farsight

          修改/etc/init.d/rcS添加如下內(nèi)容(導(dǎo)入主機(jī)名配置文件):

          /bin/hostname –F /etc/hostname

          修改根文件系統(tǒng)中/etc/profile文件添加如下內(nèi)容:

          HOSTNAM=`/bin/hostname`

          PS1=`[u@h W]# `

          export PS1 HOSTNAME

          創(chuàng)建/etc/passwd添加如下內(nèi)容:

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

          這個(gè)時(shí)候我們重新啟動(dòng)我們的開發(fā)板會(huì)發(fā)現(xiàn)命令行提示符已經(jīng)是我們想要的那種現(xiàn)實(shí)了:

          [root@farsight /etc] #



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉