京峰JF2115-Day45上課筆記
1、SHELL編程變量命名規范;
變量分為:系統變量、環境變量、用戶變量;
定義變量時使用=賦值,無需通過declare定義變量的類型;
變量賦值時,=前后是不能有空格的;
變量通常使用大寫字母定義,不推薦小寫字母(跟命令沖突);
變量定義不能使用數字開頭,可以使用數字結尾;
變量定義,變量名稱之間不能使用-橫杠,可以使用_下划線;
變量定義的名稱盡量跟值保持相關性,不要隨機定義名稱;
變量定義的值,如果存在空格必須使用引號將其變成整體;
2、SHELL編程IF語句案例實戰
1)if語句固定的語法格式:
if (表達式);then 動作1 else 動作2 fi
2)If語句常用參數和表達式;
-f 判斷文件是否存在 eg: if [ -f filename ]; -d 判斷目錄是否存在 eg: if [ -d dir ]; -eq 等於,應用於整型比較 equal; -ne 不等於,應用於整型比較 not equal;-lt 小於,應用於整型比較 letter; -gt 大於,應用於整型比較 greater; -le 小於或等於,應用於整型比較; -ge 大於或等於,應用於整型比較; -a 雙方都成立(and) 邏輯表達式 –a 邏輯表達式; -o 單方成立(or) 邏輯表達式 –o 邏輯表達式; -z 空字符串; || 單方成立; && 雙方都成立表達式。
3)IF語句常用的括號的含義;
( ) 用於多個命令組、命令替換、初始化數組; (( )) 整數擴展、運算符、重定義變量值,算術運算比較; [] bash內部命令,[與test是等同的,正則字符范圍、引用數組元素編號,不支持 +-*/數學運算符,邏輯測試使用-a、-o。 [[ ]] bash程序語言的關鍵字,不是一個命令,[[ ]]結構比[ ]結構更加通用,不支持 +-*/數學運算符,邏輯測試使用&&、||。 {} 主要用於命令集合或者范圍,例如mkdir -p /data/201{7,8}/3、SHELL編程For語句案例實戰
1)For語句固定的語法格式:
For i in (表達式) do 動作1 done
2)For語句案例操作一:
#!/bin/bash for NUM in 1 2 3 4 do echo “$NUM) www.jd.com” done
3)For語句案例操作二:
#!/bin/bash for NUM in $(echo {1..4}) do echo “$NUM) www.jd.com” done
4)For語句案例操作三:
#!/bin/bash COMMAND="$*" for IP in 127.0.0.{1..10}do echo -e "\033[32mThe $IP Exec Command:\033[0m" ssh -l root $IP "$COMMAND" done
