關於命令列提示符顯示格式

來源:互聯網
上載者:User

http://www.dzsc.com/data/html/2011-9-4/97838.html

       現在我們經常會用busybox產生根檔案系統,可是根檔案系統起來以後命令列提示符只有一個“#”號,沒有像linux發行版那樣是[user@hostname currentpath] #,那麼我們這裡就說說如何讓我們的根檔案系統按這個方式顯示。
  要修改命令列提示符,首先我們需要知道一個環境變數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] #

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.