shell script之變量
shell script之變量
什麽是變量
用一個簡單的“字眼”來代替另一個比較復雜或者容易變動的數據
變量的顯示與設置:echo,unset
變量的顯示
echo ${PATH}
變量的設置規則
等號連接 變量=變量內容
等號兩邊不能直接接空格符
變量名稱只能是英文或數字,數字不可用作第一個字符
變量內容有空格需使用雙引號或單引號括起來
單引號:特殊字符僅表示字符
雙引號:特殊字符可保持原本特性,如$
轉義字符可將特殊符號變成一般字符
$(command)與`command`均表示先執行command
變量內容追加
PATH=${PATH}:/home/bin
將變量設置為環境變量
export PATH 註:export後不跟變量名時,會顯示所有環境變量
變量的取消
unset PATH
環境變量的功能
env
查看目前shell環境下所有環境變量
export
查看目前shell環境下的所有環境變量,
將自定義變量轉成環境變量
set
查看所有變量(包含環境變量與自定義變量)
一些有用的變量
PS1=‘[\u@\h \W]‘
設置命令提示符,即設置[[email protected] ~]#
\d :可顯示出『星期 月 日』的日期格式,如:"Mon Feb 2"
\H :完整的主機名。舉例來說,鳥哥的練習機為『www.vbird.tsai』
\h :僅取主機名在第一個小數點之前的名字,如鳥哥主機則為『www』後面省略
\t :顯示時間,為 24 小時格式的『HH:MM:SS』
\T :顯示時間,為 12 小時格式的『HH:MM:SS』
\A :顯示時間,為 24 小時格式的『HH:MM』
\@ :顯示時間,為 12 小時格式的『am/pm』樣式
\u :目前使用者的賬號名稱,如『root』;
\v :BASH 的版本信息,如鳥哥的測試主板本為 3.2.25(1),僅取『3.2』顯示
\w :完整的工作目錄名稱,由根目錄寫起的目錄名稱。但主目錄會以 ~ 取代;
\W :利用 basename 函數取得工作目錄名稱,所以僅會列出最後一個目錄名。
\# :下達的第幾個指令。
\$ :提示字符,如果是 root 時,提示字符為 # ,否則就是 $ 啰~
?
獲得上一條命令的回傳碼
影響顯示結果的語系變量:locale
locale -a
查看Linux支持多少種語系
local
查看被用來設置語系的變量
/etc/sysconfig/i18n
當前默認語系
變量鍵盤讀取,數組與聲明:read,array,declare
變量鍵盤讀取:read
read [-pt] variable
p 後接提示符
t 後接等待的秒數
變量聲明:declare
declare [ - | + ][aixr] variable
-a 設置一個數組變量
-i 設置個整數變量
-x 將後面的變量變為環境變量
-r 將變量設置成為readonly類型,改變輛不可被更改內容,也不能重設
-p 列出變量的類型
+ 加號表示取消該變量的該類型
數組類型變量:array
設置方式
var[index]=content
設置實例
var[1]="small min"
var[2]="big min"
var[3]="nice min"
使用實例
echo "${var[1]},${var[2],${var[3]}"
變量內容的刪除與替換
變量的測試與替換
-、+ 根據str的情況設置var=expr
= 根據str的情況設置var=expr,同時設置str=expr
? 根據str的情況設置var=expr,異常輸出錯誤提示
shell script之變量