新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Linux(ARM)下修改shell提示符

Linux(ARM)下修改shell提示符

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

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

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

本文引用地址:http://m.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板實際使用的串口

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


關鍵詞: LinuxARMshell提示

評論


技術專區(qū)

關閉