微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Linux(ARM)下修改shell提示符

Linux(ARM)下修改shell提示符

时间:11-11 来源:互联网 点击:
1): 创建全局变量文件:/etc/profile
添加如下内容:
PS1=Andy--#
export PS1
注意:/etc/profile定义的变量是全局的,即对所有登录的Linux用户都有效。而在普通脚本里eport只在当前脚本以及子进程里有 效。

2): 使/etc/profile 生效
source /etc/profile 可以立即生效。
而要想让系统启动自动生效,需要启动一个登录shell,当然也有另一个方法:

busybox里的ash作为shell时,如果直接在串口通过/bin/sh或者/bin/ash打开终端,而不登陆的话。常常遇到 放在/etc/profile不能生效的问题。但如果登陆就可以。其实这个问题解决起来很简单,只需要在启动的命令前加上一个“-”,变成“-/bin /sh”或“-/bin/ash”就行了。具体原因,是因为ash在执行的时候,首先会判断是否是登陆shell,如果是才会读取profile文件。具 体说来就是通过登陆、或者是执行的脚本前面有个“-”的。具体参考ash的源代码:

if (/* argv[0] && */ argv[0][0] == -)isloginsh = 1;if (isloginsh) {state = 1;read_profile("/etc/profile");state1:state = 2;read_profile(".profile");}

即修改 /etc/inittab文件
ttyS2::askfirst:-/bin/sh
注意:ttyS2是你ARM板实际使用的串口

3): Linux的变量种类
(1): 永久的:需要修改配置文件,变量永久生效。
(2): 临时的:使用export命令行声明即可,变量在关闭shell时失效。
4):1. 在/etc/profile文件中添加变量
5):在用户目录下的.bash_profile文件中增加变量
6):直接运行export命令定义变量
7):使用readonly命令设置只读变量,如果使用了readonly命令的话,变量就不可以被修改或清除了。
8): 使用unset命 令来清除环境变量 $unsetTEMP_KEVIN #删除环境变量TEMP_KEVIN

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top