語言:人思維的抽象化符號
編程語言:
機器語言:01代碼
彙編語言:人識別但是機器無法識別的語言,但是這種語言已經十分接近機器語言,所有學習的週期比較長
高級語言:接近人類的思考方式,符合機器的運行特性,需要一個編譯器轉化成機器語言
靜態語言:編譯型語言。(這種語言有一個程序開發環境,不需要藉助額外的二進制程序,就可以直接寫代碼,寫完之後用編譯器轉換成二進制代碼,可獨立運行)這種語言也可以稱之爲強類型的語言,需要在執行前將其轉換成二進制格式
動態語言:解釋型語言,邊解釋邊執行(on the fly),有一個解釋器解釋語言
動態語言:PHP、shell、python、perl
變量:內存空間
變量名引用變量:命名的內存空間
內存:編制的存儲單元
變量類型:事先定義數據的存儲格式和長度
①字符型
②數值型:整型和浮點型
③日期時間型
④Boolean Variable 布爾型
真 假
邏輯運算:與、或、非、異或
與(&):兩者爲1結果纔是真,其餘數目相遇都爲假 1&0=0 1&1=1
或(||):兩個數目中只要一個爲1,結果就是真的;只有兩個0相遇纔是假 1||0=1
非(!):單數操作,對真取反,真爲假;對假取反,假爲真 !1=0
異或:操作數相同爲假,不同爲真
計算機之所以會成爲現實:數字邏輯和計算機的電邏輯有重合
變量賦值:VAR_NAME=VALUE
bashell的變量類型:
①環境變量:
作用域當前shell進程及其子shell進程,export=VAR_NAME設定變量爲環境變量
②本地變量(局部變量):
③位置變量:
④特殊變量:
$?:上一個命令的執行狀態返回值(0-255)
0:表示正確執行
1-255:全爲錯誤(1,2,127系統預留有特殊意義)
unset VAR_NAME:撤銷變量
set:查看本地變量和環境變量
查看環境變量:env export printenv
添加新的路徑到當前的PAHT變量當中:PATH=$PATH:/root
命令行腳本在執行的時候都會啓動一個當前shell的子shell進程,所以當前shell的環境變量對腳本是有效的
非命令行啓動的腳本就需要自我定義各環境變量
引用變量:${VAR_NAME},括號可以省略。如果引用變量後面的內容緊跟變量那麼需要加花括號。
例如:zoo= pig 引用變量的話:echo “there are some ${zoo}s”
""和‘’的區別:“”弱引用,內部定義的變量會替換;‘’強引用不做變量替換
/dev/null:bitbucket(位桶),可將輸出重定向至此設備當中
腳本:命令的堆砌,按照實際需要,結合命令流程控制機制實現的源程序
shabang:魔數
腳本的第一行必須寫:#!/bin/bash
#:註釋行,不執行
讓腳本具有執行權限:chmod +x scriptfile
用解釋器執行腳本:bash scriptfile
注:出自馬哥課程