您的位置:首页 > 其它

busybox 显示用户名及路径 -----[\u@\h\W]\# busybox 在制作根文件系统的处理方法

2014-12-22 09:47 537 查看
转载自:http://blog.csdn.net/zhaole20094463/article/details/6817987

不管是在移植根文件系统还是移植内核的时候我们总是希望可以添加一些独一无二属于自己的东西,比如自己的名字或者代号。

      现在我们经常会用busybox生成根文件系统,可是根文件系统起来以后命令行提示符只有一个“#”号,没有像linux发行版那样是[user@hostname currentpath] #,那么我们这里就说说如何让我们的根文件系统按这个方式显示。

      首先要介绍一个环境变量PS1

      我们可以查看bash的帮助文档查看关于PS1的说明:

     bash有两级命令提示符,这里说的是第一级,这一级缺省提示符是字符“$”,我们可以通过修改PS1修改这个提示符,格式是;

     PS1=“参数”

     命令列表有很多参数如下:

  \! 显示该命令的历史记录编号。

  \# 显示当前命令的命令编号。

  \$ 显示$符作为提示符,如果用户是root的话,则显示#号。

  \\ 显示反斜杠。

  \d 显示当前日期。

  \h 显示主机名。

  \n 打印新行。

  \nnn 显示nnn的八进制值。

  \s 显示当前运行的shell的名字。

  \t 显示当前时间。

  \u 显示当前用户的用户名。

  \W 显示当前工作目录的名字。

  \w 显示当前工作目录的路径

首先我们需要修改buxybox中配置,添加如下两个选项:

  Busybox Settings --->

  Busybox Library Tuning --->

  [*] Username completion

  [*] Fancy shell prompts

  创建/etc/hostname添加如下内容(我们的主机名):

  Happy

  修改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@Happy/etc] #

    文件的执行过程是:

                profile----->HOSTNAME --------->/bin/hostname

                rcS------>/bin/hostname--------->/etc/hostname--------------->Happy
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: