1.Bash用戶自定義變量
【局部變量】
【按數據存儲分類】:整型、浮點型、字符串型、日期型
【變量定義】:x=5,y=6,z=$x+$y=5+6,m=$(($x+$y))=11
【Bash變量默認都為字符串型,等號左右不可以有空格】
【變量疊加】:x="$x"123,x=${x}345
2.Bash環境變量
【全局變量】exprot 變量名=變量值
【變量查詢】:env 、 set ?-u:當調用不存在的變量時,實現明確的報錯
【刪除變量】:unset 變量名?
【用戶可以自定義環境變量,但是變量名是不變的,變量的作用是固定的】
PATH變量:系統查找命令的路徑
變量疊加:PATH="$PATH":/root/sh
3.Bash語系變量
【查看語系變量】:locale [-a | more]
LANG:定義系統主語系
LC_ALL:定義整體語系
cat /etc/sysconfig/i18n
4.位置參數變量
$n:n為數字,$0代表命令本身,$1-$9代表第一到第九個參數,十以上的參數需要大括號${10}
$*:這個變量代表命令行中所有的參數,$*把所有的參數看成一個整體
$@:這個變量也代表命令行所有參數,不過$@把每個參數區分對待
$#:這個變量代表命令行整所有參數的個數。
for i in "$*"
#這個for循環只會循環一次
do
echo "The parameters is:$i"
done
for y in "$@"
這個for中,$@有幾個參數,就會循環幾次。
4.預定義變量
$?:判斷最后一次命令是否正確執行
$$:當前進程的進程號PID
$!:后臺運行的最后一個進程的進程號PID
?
接收鍵盤輸入:
read 【選項】【變量名】
-p:提示信息
-t:等待的秒數
-n:字符數
-s:隱藏輸入的數據,適用于機密信息的輸入
read -p "please input your name:" -t 30 name
echo $name