在shell下提到終端的顏色的時候不得不提到幾個提示符變量:
PS1:默認提示符,也就是遠程登上系統之后,打開終端,我們天天見到的那個熟悉的提示符;
[root@vps ~]$echo $PS1
[/u@/h /W]$
PS2:就是我們命令一行寫不完在我們命令行下我們打上”/”,另起一行所顯示的那個;
[root@vps ~]$echo “hello” /
> “world”
hello world
[root@vps ~]$echo $PS1
[/u@/h /W]$
PS3:就是我們在shell腳本中要用select的時候顯示的那個;
復制代碼 代碼如下:
#!/bin/bash
#PS3=”Select a script language (1-4): ”
select i in perl php python shell exit
do
case $i in
perl) echo “I like perl”;;
php) echo “php is good”;;
python) echo “xiangjun like python”;;
shell) echo “shell is my favourite”;;
exit) exit;;
esac
done
[root@vps tmp]$bash select.sh
1) perl
2) php
3) python
4) shell
5) exit
#? 1
I like perl
#?
默認是”#?”,呵呵,我們在腳本中改變一下
復制代碼 代碼如下:
#!/bin/bash
PS3=”Select a script language (1-4): “
select i in perl php python shell exit
do
case $i in
perl) echo “I like perl”;;
php) echo “php is good”;;
python) echo “xiangjun like python”;;
shell) echo “shell is my favourite”;;
exit) exit;;
esac
done
[root@vps tmp]$bash select.sh
1) perl
2) php
3) python
4) shell
5) exit
Select a script language (1-4): 3
xiangjun like python
Select a script language (1-4):
變了吧,哈哈。
PS4:我們調試shell腳本我們會bash -x myscripts.sh (或者在腳本中set -x)那個提示符;
復制代碼 代碼如下:
Select a script language (1-4): 5
[root@vps tmp]$bash -x select.sh
+ PS3='Select a script language (1-4): ‘
+ select i in perl php python shell exit
就是那個”+”了,我們重置下;
復制代碼 代碼如下:
[root@vps tmp]$export PS4=”>>”
[root@vps tmp]$bash -x select.sh
>>PS3='Select a script language (1-4): ‘
>>select i in perl php python shell exit
好了,回憶了一些基礎知識之后,回到我們的話題上來:,我們以PS1為例說明一下:
那這個變量是在哪里設置的呢?在我們目前的redhat(當然包括centos了)是在/etc/bashrc文件中的:
[ "$PS1" = "http://s-//v///$ " ] && PS1=”[/u@/h /W]//$ ”
那這些/w /u 分別代表什么意思呢?分別如下:
/d :代表日期,格式為weekday month date,例如:”Mon Aug 1″
/H :完整的主機名稱。例如:我的機器名稱為:fc4.linux,則這個名稱就是fc4.linux
/h :僅取主機的第一個名字,如上例,則為fc4,.linux則被省略
/t :顯示時間為24小時格式,如:HH:MM:SS
/T :顯示時間為12小時格式
/A :顯示時間為24小時格式:HH:MM
/u :當前用戶的賬號名稱
/v :BASH的版本信息
/w :完整的工作目錄名稱。家目錄會以 ~代替
/W :利用basename取得工作目錄名稱,所以只會列出最后一個目錄
/# :下達的第幾個命令
/$ :提示字符,如果是root時,提示符為:# ,普通用戶則為:$
我們可以自由的發揮我們的默認提示符該是什么樣子了,下面不要偏離我們的主題,我們的主題是顏色;
新聞熱點
疑難解答