編程原理:
1.編程介紹
早期編程
驅動 硬件默認是不能使用的;
不一樣的廠家硬件設備之間須要進行指令溝通,咱們須要驅動程序來進行翻譯;
更趨近與硬件開發的工程師,要學習「彙編語言」;而「彙編語言」被廠家限制
如今編程
基於高級語言,以及超高級語言,更好的讓程序員可以的實現編程功能
編程語言的分類:
高級語言、超高級語言須要翻譯成計算機可讀的語言(二進制指令)
解釋型--逐行翻譯,逐行執行 shell
編譯型--一次編譯,所有執行 c語言 c++ c#
程序 = 指令 + 數據
面向對象--側重於數據的編程語言
面向過程--側重於指令
編程語言的執行方式:
一、順序執行
二、循環執行--for(遍歷) while(循環條件) until(和while相反)
三、選擇執行--分支if *case*
二、shell腳本語言介紹
優勢:調用os(操做系統)的命令行,來實現全部功能;
缺點:沒有庫調用
shell腳本包括:一、*命令*(很是重要)二、變量(全局變量、局部變量、本地變量、傳參)三、邏輯關係
shell的第一句話!!!
#!/bin/bash --定義腳本解釋器
/etc/shells --- 查看當前系統支持的shell程序
echo $SHELL --查看當前會話的shell程序
/etc/passwd --制定了用戶默認支持的shell程序
shell的執行:
1.bash命令來執行腳本
-n 查看shell腳本的邏輯錯誤(注意:單詞寫錯了可無論)
-x 逐行顯示執行的腳本程序(方便排錯)
2.受權chmod u+x filename.sh
三、變量
環境變量
局部變量 declare 命令--定義變量類型
本地變量 local在函數中使用
變量類型:
數值型:
1.整形
2.浮點型
3.布爾值 0 1 (真 假)(True False)
字符串:
1.普通字符及字符串
2.數組
編程語言的分類:
強類型語言:--數值必須被定義,才能進行處理或運算
弱類型語言:--編程語言能夠自動識別變量類型
【*多態*一個數據具備多個屬性,而最後使用的屬性取決於和它進行運算的數據】
傳參
$? --上一條命令的執行狀態0正確1-255錯誤
$1 $2 $3 ${10}--命令後面傳入腳本的數據,以空格爲分隔符
$# --統計傳參數量 ${$#}這個是最後一個傳參
$* --表示全部傳參,全部的傳參以字符串形式進行輸出
$@--表示全部傳參,將全部的傳參以列表的形式進行輸出
定義變量的格式:
NAME=VALUE
我沒讓你經過命令declare定義變量類型
declare -i 整數
declare -a 數組
變量命名:
1.下劃線的方式指定變量名稱
2.駝峯命名法
四、test文件測試、條件判斷
在腳本中,咱們須要進行語句分支;說白了,就要作判斷
判斷就是使用test命令來實現
使用格式:c++
1.test 參數 file程序員
2.[條件語句]
常見的test選項:
比較選項:
-eq等於
-ne不等於
-gt 大於
-ge大於等於
-lt小於
-le小於等於
文件判斷選項:
-f -d -L -r -w -x
關聯選項:
-o 或
-a 與
! 非
字符串判斷
=
!=
-z 判斷字符串長度是否爲0
-n和z相反
五、邏輯運算
與 &&:兩邊的命令,都是真,結果纔是真
或 ||:兩邊的命令,一邊爲真就是真,同時爲假才爲假
非 !=
六、算數運算
let 加法
expr 乘法
$[$1+10]
$(($1/$2))
+ - * / % **shell