謝煙客---------Linux之Bash基礎特性(2)
Linux之哲學思想
一切皆文件
避免交互,實現Bash編程
文本編程命令實現配置
組合小程序完成復雜任務
總結
過程式編程
解釋執行
字符和數值存儲的區別
shebang -> cpu ->解釋器
數據類型
變量類型,即為內部數據的類型
bash
過程式編程、解釋執行
變量的類型為:弱類型
11)Bash編程
編程風格:過程式編程、對象式編程
過程式編程:目的解決問題
只考慮數據怎麽組織
指令組織數據
為了完成復雜的任務
順序執行:逐個運行任務
選擇執行:有一個標準,只執行某些代碼片段
循環執行:讓某些代碼片段重復執行N次
編程執行的方式
編譯執行:c,java 先翻譯後執行:高級語言 --> 編譯 --> 目標代碼 --> 匯編 --> 二進制指令
解釋執行:shell,python,java 邊翻譯邊執行,為了避免語境的錯亂,先對程序進行語法檢查後,都會進行翻譯:解釋型語言-->解釋器-->目標代碼
解釋執行的特性
純文本
由解釋器執行源程序
CPU上運行的為解釋器,由解釋器運行文本
魔數:源碼編譯為二進制後,文件的前n個字節,用於判斷可執行程序的格式
編程語言的結構:
數據存儲:變量、數組
表達式、語句
編程語言,為了使編程簡潔:
操作系統提供庫
提供解釋器
shell程序:
過程式編程、解釋執行
shell編程特性
直接調用系統程序
命令的堆砌
嚴重依賴操作系統的環境
shell腳本的格式:
必須有固定的格式:首行為魔數
必須能讀取$PATH的值,bash嚴重依賴PATH查找執行程序文件
、
運行腳本:
1、給予權限、通過具體的路徑指定文件執行
2、直接解釋執行,將腳本作為解釋器程序的參數執行
12、變量
變量名:用名字可引用的命令的內存空間,用名字即可調用事先劃分的內存空間,內存空間的名字
變量: 單個命令的內存空間
程序 = 指令 + 數據
數據可存儲在變量、數組、列表、文件
變量中存儲的數據的類型
字符型:用二進制位表示所有變化。例如 2^16表示所有漢字的5000種變化,這種規定有GBK2313,GB18030等。用2^8表示所有數字、字母、特殊字符的127種變化,美國規定的ASCII碼表
所以存儲一個漢字時,用16位即可 ,存儲一個數字時,用8位即可
數值型
整型,數值型數據例如110十進制轉換為二進制數即可:110 --> 1101110 用7位即可
浮點型
*任何數據都能被這兩種類型包含
今天:字符用16 + 16位即可
相當於UNIX元年的天數
布爾型
1:true bash中用 命令的狀態結果的0表示
0: false bash中用命令的狀態結果的1-255表示
邏輯運算:
與: 電路串聯,同時為true結果為true,其他均為假。
或: 電路並聯,一個為true結果為true,其他均為假。
非:電路的電磁感應,對運算的結果取反,非true為false. 非false為true
短路運算:
與: 左側為false,結果為false.左側為true,第二個必須要參與運算
或: 第一個為true,結果為true.左側為false,第十個必須要參與運算
運算:
全為字符型: 10 + 110 = 10110
全為數值型: 10 + 110 = 120
如果變量中數據類型不統一,運算就會混亂
2)變量
變量的類型:
變量的類型即是變量中數據存儲的類型
變量的作用:
決定參與的運算
決定變量的數據範圍:整型為4個字節,32位,2^32=40多億個數字
變量類型
字符
數值
整型
浮點型
強類型和弱類型
強類型:必須申明變量為字符或數值型
弱類型:不用事先申明變量為何種類型,shell
弱類型的特性
統一存儲為字符型
如果需要用到運算時,會做自動的切換
本文出自 “Reading” 博客,謝絕轉載!
謝煙客---------Linux之Bash基礎特性(2)