1. 程式人生 > 其它 >shell指令碼 - 變數

shell指令碼 - 變數

技術標籤:shellshell

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個的引數| |

1919*|代表命令列的所有引數,所有引數看成一個整體|
| @ ∣ 代 表 命 令 行 的 所 有 參 數 , 每 個 參 數 區 別 對 待 ∣ ∣ @|代表命令列的所有引數,每個引數區別對待| | @#|代編命令列所有引數的個數|

#!/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