分类: LINUX
2013-12-19 18:46:32
现在我们经常会用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