文件系统显示用户名和路径

转载自:http://blog.youkuaiyun.com/zhaole20094463/article/details/6817987


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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值