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