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