大資料時代,后臺的服務器的作業系統一般是linux,對于很多人來說,linux的shell是另類的語言,甚至很多人沒有覺得它是一門語言,而實際上,linux的shell功能非常強大,特別是在檔案、目錄、系統行程的操作、管理等方面,有非常好用的功能,
先說說linux shell的變數,這里主要討論一般變數及其基本運算,還有一種變數屬于系統變數,比如用set、env命令可以看到,對于系統變數的用途,本文暫不涉及,
1.變數命名規則
以字母或下劃線開頭,剩下的部分可以是:字母、數字、下劃線,
例如: sql_bak.tar.gz,log_bak.tar.bz2,_var,LD_LIBRARY_PATH
2.定義變數,注意這個時候變數名前沒有"$",
例如:your_name="bigdata.com";a=20
3.使用變數,
使用一個定義過的變數,只要在變數名前面加美元符號即可,如:
echo $your_name echo ${your_name}
變數名外面的花括號是可選的,加不加都行,加花括號是為了幫助解釋器識別變數的邊界,
拼接字串:
# 使用雙引號拼接
your_name="Peter"
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1
#hello,Peter! hello,Peter!
算術運算:
a=2 ; b=3
val=`expr $a + $b`;echo $val
var1=$((a + b));echo $var1
var2=$[a + b];echo $var2
let "var3=a+b";echo $var3
#5 --以上這四種表達方式結果完全相同,感覺后三種執行速度要快,但是shell版本不同,對于第2種的支持不同,本文暫不討論,對于bash來說以上四種均支持,
#運算子 說明 舉例 (a=10;b=20)
#+ 加法 `expr $a + $b` 結果為 30,
#- 減法 `expr $a - $b` 結果為 -10,
#* 乘法 `expr $a \* $b` 結果為 200,
#/ 除法 `expr $b / $a` 結果為 2,
#% 取余 `expr $b % $a` 結果為 0,
#= 賦值 a=$b 將把變數 b 的值賦給 a,
#== 相等,用于比較兩個數字,相同則回傳 true, [ $a == $b ] 回傳 false,
#!= 不相等,用于比較兩個數字,不相同則回傳 true, [ $a != $b ] 回傳 true,
#注意:條件運算式要放在方括號之間,并且要有空格,例如: [$a==$b] 是錯誤的,必須寫成 [ $a == $b ],
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/285430.html
標籤:Linux
下一篇:VMware Ubuntu 20.04 LTS 使用Qemu虛擬機u-boot啟動或者配合busybox模擬ARM開發板
