现在我们经常会用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] #
如何打开命令行python 如何打开命令行提示符
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java接受命令行输入
本文介绍了Java程序如何通过`Scanner`类接收和处理用户的命令行输入。
Java java 命令行 -
ubuntu如何打开命令行
http://blog.csdn.net/xhhjin/article/details/6328752打开gnome-terminal的快捷键:Ctrl+Alt+T
ubuntu gnome-terminal 打开命令行 -
python 命令行 打开文件 python如何打开命令行窗口
这篇文章我来教大家如何辨别多版本Python的切换问题,我主要整理了一下四个技巧,希望能帮大家拔出这根眼中刺!
python交互式环境下写多行命令 命令行 Python 环境变量 -
命令行 打开mongodb 命令行 打开 iso
方法1、Linux下用mount挂载命令工具在网上下载的软件盘是iso格式的,不刻成光盘就能够读取里面的文件。不用解压。
命令行 打开mongodb linux下如何打开iso文件夹 虚拟光驱 so文件 安装系统 -
android命令行 打开app 安卓如何打开命令行
运行Android程序 如果按照之前的步骤创建一个Android项目,它包括了“Hello World”的默认配置文件,使你可以立即运行应用程序。 如何运行你的应用程序取决于两件事情:你是否有运行Android应用的真实设备;是否正在使用Android Studio。 本课向你展示如何在真实的设备和Andro
android命令行 打开app 运行Android程序 Android 命令行 虚拟设备