新闻中心

EEPW首页>嵌入式系统>设计应用> Linux(ARM)下修改shell提示符

Linux(ARM)下修改shell提示符

作者: 时间:2016-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的源代码:

本文引用地址: //m.amcfsurvey.com/article/201611/316868.htm
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命令定义变量【只对当前shell(BASH)有效(临时 的)】
7):使用readonly命令设置只读变量,如果使用了readonly命令的话,变量就不可以被修改或清除了。
8): 使用unset命 令来清除环境变量 $unsetTEMP_KEVIN #删除环境变量TEMP_KEVIN


关键词:LinuxARMshell提示

评论


技术专区

关闭