三 shell的一些注意點

2021-07-29 14:41:48 字數 2348 閱讀 9586

1.使指令碼具有執行許可權

chmod +x ./test.sh

2.shell變數名和等號之間不能有空格,例如

myname="zhangsan"

3.單引號字串的限制:

單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的;

單引號字串中不能出現單引號(對單引號使用轉義符後也不行)。

4.bash支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。

5.陣列賦值 例如 array=(value1 value2 vaue3) 中間有空格隔開

6.讀取陣列元素值的一般格式是:$

7.使用@符號可以獲取陣列中的所有元素,例如:echo $

8.獲取陣列的長度 echo "$"

9.$0 代表執行指令碼的名稱  

10.$*和$@ 在雙引號中假設在指令碼執行時寫了三個引數 1、2、3,,則 " * " 等價於 "1 2 3"(傳遞了乙個引數),而 "@" 等價於 "1" "2" "3"(傳遞了三個引數)。

11.表示式和運算子之間要有空格,例如 2+2 是不對的,必須寫成 2 + 2,這與我們熟悉的大多數程式語言不一樣。

完整的表示式要被 ` ` 包含,注意這個字元不是常用的單引號,在 esc 鍵下邊。

12.條件表示式要放在方括號之間,並且要有空格,例如: [$a==$b] 是錯誤的,必須寫成 [ $a == $b ]。

13.關係運算子只支援數字,不支援字串,除非字串的值是數字。

14.算數運算子+加法

`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 ]。

15.關係運算子

-eq檢測兩個數是否相等,相等返回 true。

[ $a -eq $b ] 返回 false。

-ne檢測兩個數是否相等,不相等返回 true。

[ $a -ne $b ] 返回 true。

-gt檢測左邊的數是否大於右邊的,如果是,則返回 true。

[ $a -gt $b ] 返回 false。

-lt檢測左邊的數是否小於右邊的,如果是,則返回 true。

[ $a -lt $b ] 返回 true。

-ge檢測左邊的數是否大於等於右邊的,如果是,則返回 true。

[ $a -ge $b ] 返回 false。

-le檢測左邊的數是否小於等於右邊的,如果是,則返回 true。

[ $a -le $b ] 返回 true。

關係運算子只支援數字,不支援字串,除非字串的值是數字。

16.布林運算子

!非運算,表示式為 true 則返回 false,否則返回 true。

[ ! false ] 返回 true。

-o或運算,有乙個表示式為 true 則返回 true。

[ $a -lt 20 -o $b -gt 100 ] 返回 true。

-a與運算,兩個表示式都為 true 才返回 true。

[ $a -lt 20 -a $b -gt 100 ] 返回 false。

17.邏輯運算子

&&邏輯的 and

[[ $a -lt 100 && $b -gt 100 ]] 返回 false

||邏輯的 or

[[ $a -lt 100 || $b -gt 100 ]] 返回 true

18.字串運算子

=檢測兩個字串是否相等,相等返回 true。

[ $a = $b ] 返回 false。

!=檢測兩個字串是否相等,不相等返回 true。

[ $a != $b ] 返回 true。

-z檢測字串長度是否為0,為0返回 true。

[ -z $a ] 返回 false。

-n檢測字串長度是否為0,不為0返回 true。

[ -n $a ] 返回 true。

19()使用:可以有命令,初始化陣列

(())常用於算數比較,雙括號中的變數可以不使用$符號字首。括號內支援多個表示式用逗號分開

中的邏輯與和邏輯或使用-a 和-o 表示。

Java BigDecimal 一些注意點

float和double型別的主要設計目標是為了科學計算和工程計算。他們執行二進位制浮點運算,這是為了在廣域數值範圍上提供較為精確的快速近似計算而精心設計的。然而,它們沒有提供完全精確的結果,所以不應該被用於要求精確結果的場合。但是,商業計算往往要求結果精確,這時候就要使用bigdecimal啦。b...

指標的一些注意點

指標是c語言最強大,最複雜的特性。在使用的時候一定要注意。1 在使用指標前 指對指標進行解引用 一定要對指標進行初始化。否則會發生段違例錯誤。如 int a a 12 從語言層面看,好似並沒有錯誤,但是a指標並沒有被初始化,從而無法找到該變數到底指向的是哪個位址,將12賦值給乙個未知位址會引發段違例...

Pyhton 的一些注意點

列表的運用 列表的一些運用 1 s list input 請輸入乙個字串 這樣就可以直接讀到s列表中了.pyhton日常注意點 1 讀資料只能換行讀,否則會把一行資料都當成乙個資料來讀.2 你寫的這些for,if,while,等函式都記得打分號 3 迴圈.for i in range 0,n i 從...