新聞中心

Linux(ARM)下修改shell提示符

作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
1): 創(chuàng)建全局變量文件:/etc/profile
添加如下內(nèi)容:
PS1=Andy--#
export PS1
注意:/etc/profile定義的變量是全局的,即對(duì)所有登錄的Linux用戶都有效。而在普通腳本里eport只在當(dāng)前腳本以及子進(jìn)程里有 效。

2): 使/etc/profile 生效
source /etc/profile 可以立即生效。
而要想讓系統(tǒng)啟動(dòng)自動(dòng)生效,需要啟動(dòng)一個(gè)登錄shell,當(dāng)然也有另一個(gè)方法:

busybox里的ash作為shell時(shí),如果直接在串口通過/bin/sh或者/bin/ash打開終端,而不登陸的話。常常遇到 放在/etc/profile不能生效的問題。但如果登陸就可以。其實(shí)這個(gè)問題解決起來很簡(jiǎn)單,只需要在啟動(dòng)的命令前加上一個(gè)“-”,變成“-/bin /sh”或“-/bin/ash”就行了。具體原因,是因?yàn)閍sh在執(zhí)行的時(shí)候,首先會(huì)判斷是否是登陸shell,如果是才會(huì)讀取profile文件。具 體說來就是通過登陸、或者是執(zhí)行的腳本前面有個(gè)“-”的。具體參考ash的源代碼:

本文引用地址:http://butianyuan.cn/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板實(shí)際使用的串口

3): Linux的變量種類
(1): 永久的:需要修改配置文件,變量永久生效。
(2): 臨時(shí)的:使用export命令行聲明即可,變量在關(guān)閉shell時(shí)失效。
4):1. 在/etc/profile文件中添加變量【對(duì)所有用戶生效(永久的)】
5):在用戶目錄下的.bash_profile文件中增加變量【對(duì)單一用戶生 效(永久的)】
6):直接運(yùn)行export命令定義變量【只對(duì)當(dāng)前shell(BASH)有效(臨時(shí) 的)】
7):使用readonly命令設(shè)置只讀變量,如果使用了readonly命令的話,變量就不可以被修改或清除了。
8): 使用unset命 令來清除環(huán)境變量 $unsetTEMP_KEVIN #刪除環(huán)境變量TEMP_KEVIN


關(guān)鍵詞: LinuxARMshell提示

評(píng)論


技術(shù)專區(qū)

關(guān)閉