原标题:Linux(ARM)下修改shell提示符
1): 创建 文件: /etc/profile
添加如下内容:
PS1='Andy--#'
export PS1
注意:/etc/profile定义的变量是全局的,即对所有登录的 用户都有效。而在普通脚本里eport只在当前脚本以及子进程里有 效。
2): 使/etc/profile 生效
source /etc/profile 可以立即生效。
而要想让系统启动自动生效,需要启动一个登录shell,当然也有另一个方法:
用里的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是你 板实际使用的串口
3): Linux的变量种类
(1): 永久的:需要修改配置文件,变量永久生效。
(2): 临时的:使用export 命令行声明即可,变量在关闭shell时失效。
4): 1. 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
5): 在用户目录下的.bash_profile文件中增加变量【对单一用户生 效(永久的)】
6): 直接运行export命令定义变量【只对当前shell(BASH)有效(临时 的)】
7): 使用readonly命令设置只读变量,如果使用了readonly命令的话,变量就不可以被修改或清除了。
8): 使用unset命 令来清除环境变量 $ unset TEMP_KEVIN #删除环境变量TEMP_KEVIN
责任编辑: