shell指令碼 - 變數
阿新 • • 發佈:2020-12-21
1、系統變數
#!/bin/bash
echo "path=$PATH"
echo "user=$USER"
結果如下:
2、自定義變數
2.1、基本語法
①定義變數:變數=值
A=20
echo "a=$A"
結果輸出:a=20
②撤銷變數:unset 變數
unset A
echo "a=$A"
結果輸出:a=
③靜態變數 readonly 變數
***靜態變數不能unset
readonly A=20
unset A
echo "a=$A"
輸出結果:a=20
2.2、變數命名規則
①變數名稱可由字母、數字、下劃線組成,不能由數字開頭
②等號兩側不能有空格
③變數名稱一般為大寫
2.3、將命令返回值賦值給變數
str1=`date`
str2=$(date)
echo "$str1"
echo "$str2"
輸出結果:
2020年 12月 20日 星期日 20:29:34 CST
2020年 12月 20日 星期日 20:29:34 CST
3、位置引數變數
–執行shell指令碼時,如果希望活得命令列的引數資訊,就可以使用位置引數變數
|$n|n位整數,$0代表命令本身,
1
−
9
代
表
第
1
到
9
個
的
參
數
∣
∣
1-9代表第1到9個的引數| |
1−9代表第1到9個的參數∣∣*|代表命令列的所有引數,所有引數看成一個整體|
|
@
∣
代
表
命
令
行
的
所
有
參
數
,
每
個
參
數
區
別
對
待
∣
∣
@|代表命令列的所有引數,每個引數區別對待| |
@∣代表命令行的所有參數,每個參數區別對待∣∣#|代編命令列所有引數的個數|
#!/bin/bash
echo "$0 $1 $2"
echo "$*"
echo "[email protected]"
echo "$#"
執行結果:
4、預定義變數
|$
∣
當
前
進
程
的
進
程
號
∣
∣
|當前程序的程序號| |
∣當前進程的進程號∣∣!|後臺執行的最後一個程序的程序編號|
|$?|最後一次執行命令的返回狀態|
5、運算子
基本語法:
①
(
(
((
((A+
B
)
)
②
B)) ②
B))②[
A
+
A+
A+B]
#!/bin/bash
A=100
B=200
C=$[$A+$B]
D=$(($A+$B))
echo "$C"
echo "$D"
輸出結果:300 300