ps1
修改linux終端命令提示符字型顏色
ps2ps3
ps4參考資料
ps即是prompt string,命令提示符的意思。在bash中一共有四個地方出現。分為表示為ps1,ps2,ps3,ps4。
ps1是用來控制預設提示符顯示格式。下面方括號中的內容便是ps1。
[root@ethan ~]# echo $ps1
[\u@\h \w]\$
ps1的常用引數以及含義:
<46>[root@ethan ethan]#echo $ps1
<\#>[\u@\h \w]\$
在ps1中設定字元顏色的格式為:\[\e[f;bm\]……..\[\e[0m\]
其中「f「為字型顏色,編號為30-37,「b」為背景顏色,編號為40-47,\[\e[0m\]作為顏色設定的結束。
編輯「~/.bash_profile」檔案。
[root@ethan ~]# cat .bash_profile
# .bash_profile
# get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi# user specific environment and startup programs
path=$path:$home/bin
export path
ps1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
export ps1
乙個非常長的命令可以通過在末尾加「\」使其分行顯示。多行命令的預設提示符是「>」。 我們可以通過修改ps2 ,將提示符修改為」continue->」 。
<7>[root@ethan ~]#ps2='continue->'
<8>[root@ethan ~]#ls \
continue->/etc \
continue->/boot
shell指令碼中使用select時的提示符
現在有下面這樣乙個指令碼:
#ps3='select a day (1-4):'
select i in mon tue wed exit
do case $i in
mon) echo "monday";;
tue) echo "tuesday";;
wed) echo "wednesday";;
exit) exit;;
esac
done
預設執行如下:
<35>[root@ethan ethan]#sh p3.sh
1) mon
2) tue
3) wed
4) exit
#? 1
monday
#? 2
tuesday
#? 5
#?
修改ps3=』 select a day (1-4): 『後,我們在指令碼中新增,如下:
<39>[root@ethan ethan]#sh p3.sh
1) mon
2) tue
3) wed
4) exit
select a day (1-4):1
monday
select a day (1-4):2
tuesday
select a day (1-4):3
wednesday
「set -x」用來修改跟蹤輸出的字首 。
set -x
#ps4='$0.$lineno+ '
echo "hello world"
ls /ethan
試著來執行一下,可以看到命令前的「+」,ps4就是用來定義這個提示符的。
[root@ethan ethan]# sh p4.sh
+ echo 'hello world'
hello world
+ ls /ethan
p3.sh p4.sh
[root@ethan ethan]# sh p4.sh
+ ps4='$0.$lineno+ '
p4.sh.3+ echo 'hello world'
hello world
p4.sh.4+ ls /ethan
p3.sh p4.sh
linux 環境變數詳解
1 總結背景 2 變數簡介 linux 是乙個多使用者的作業系統 每個使用者登入系統後,都會有乙個專用的執行環境。通常每個使用者預設的環境都是相同的,這個預設環境實際上就是一組環境變數的定義。使用者可以對自己的執行環境進行定製,其方法就是修改相應的系統環境變數。3 定製環境變數 環境變數是和 she...
Linux環境變數詳解
環境變數的本質就是變數,它的服務物件是shell程式,它分為區域性環境變數和全域性環境變數,分別有不同的作用域和自然生命週期 不同的情況下,會產生不同的shell。既然環境變數是服務於shell程式的,那麼就來分析一下不同角色的shell 使用export匯出的環境變數,就是全域性環境變數 在 et...
linux 環境變數詳解
全域性環境變數 對於shell會話和它生成的所有子shell都是可見的。區域性環境變數 只在建立他們的shell中可見。全域性和區域性變數是否可以用我們程式語言中的父類和子類來幫助了解?檢視全域性變數的值 1 printenv 檢視所有全域性變數的值,printenv 變數名 檢視指定變數名的全域性...