【linux】shell之運算符

一、運算符

- 弱類型,並且默認是字符串類型

1. declare命令

1.1 declare命令
- 用來聲明變量類型
- declare[+/-][選項]變量名
選項 含義
- 給變量設定類型屬性
+ 取消變量的類型屬性
-a 將變量聲明爲數組類型
-i 將變量聲明爲整數型(integer)
-x 將變量聲明爲環境變量
-r 將變量聲明爲只讀變量
-p 顯示指定變量的被聲明的類型
    //聲明成整型
    # a=1
    # b=2
    # c=$a+$b
    # echo $c
    1+2
    # declare -i c=$a+$b
    # echo $c
    3
    # declare +i c
    # c=$a+$b
    # echo $c
    1+2
    # declare -p c
    declare -i c="3"

    //聲明環境變量
    # declare -x kk=1
    # bash
    # set | grep kk

    //只讀
    # declare -r x
    # x=2
1.2 數組
    ames[0]=zhangsan
    names[1]=lisi
    # 聲明爲數組類型
    declare -a names;
    # 默認只打印第一個元素
    echo ${names}
    zhangsan
    打印第2個元素
    # echo ${names[1]}
    lisi
    # 打印全部
    echo ${names[*]}
    zhangsan lisi

1.3 聲明環境變量
- export最終執行的是declare -x 命令
- declare -p 可以查看所有類型
    export NAME=zhufeng//就相當於下面的命令
    declare -x NAME=zhufeng

1.4 只讀屬性
    #declare -r gender=m
    #gender=f
    -bash: gender: readonly variable
1.5 查詢變量屬性
- declare -p 查詢所有變量的屬性
- declare -p 變量名 查詢指定變量的屬性
    - 注意,如果是字符串類型,那麼類型會寫成--

2.數值運算的方法

- 只要用declare聲明變量的時候指定類型就可以進行數值運算
2.1 expr 或 let
- +號兩側必須使用空格,否則還是整塊輸出
    #num1=2
    #num2=3
    #s=$(expr $num1 + $num2)
    #echo $s
    5

    #s=$(($num1+$num2))
    #echo $s
    5
    #s=$[$num1+$num2]
    #echo $s
    5

    d=$(date)
    echo $d
2.2 運算符優先級
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章