標籤:shell編程變數及變數類型
程式設計語言:包括機器語言、組合語言、{進階語言[靜態語言(編譯型語言,一般為強型別變數,需要發布為可執行程式,C、C++、Java,C#)和動態語言(解釋型語言,一般為弱類型語言,不需要發布為可執行程式,是一邊執行一邊解釋,Asp,asp.net,php,shell,python、perl)]}
物件導向:解決對象之間的動作,主要適合開發大型程式java,python,c++,perl
面向過程:主要解決過程,主要適合開發小型程式shell,c
變數:是記憶體空間,是命名的記憶體空間,儲存資料的儲存格式和長度、電腦的最小儲存單位為位元組
記憶體:是編址的儲存空間
進程:程式運行後叫進程
邏輯運算:與、或、非、異或(短路邏輯運算)
真 & 假 = 假
假 & 真 = 假
假 & 假 = 假
真 & 真 = 真
與運算時只有兩者為真是為真,否則為假 ,相當於串聯電路,只要有一個為假,結果一定為假
真 | 假 = 真
假 | 真 = 真
假 | 假 = 假
真 | 真 = 真
或運算時只要有一者為真則為真,相當於並聯電路,只要有一個為真,則結果一定為真
!真=假
!假=真
非為單目運算,即取反運算,相當於電磁感應
異或運算運算元相同則為假,否則為我真
編譯型語言沒有額外的處理邏輯所以是強型別的,指令碼型語言可以有解譯器控制,可以是弱類型
強型別程式設計語言:變數在使用前必須事先聲明,甚至還需要初始化,沒有初始化的變數儲存的是隨機數
弱類型程式設計語言:變數是在用時聲明,甚至不區分類型,隱式轉換,顯式轉換
變數賦值:變數=值
bash變數類型
環境變數,export 變數=值,範圍為當前shell及其子進程
本地變數,變數=值,變數一定是進程的變數,範圍為整個bash進程
(局部變數),local 變數=值,範圍為當前程式碼片段
位置變數,如後向引用 引用$1,$2...
特殊變數,bash內建的,又稱系統變數,儲存某些特殊資料的,如$?(儲存上一命令執行狀態傳回值)
引用變數:${varname},有時{}號可以省略
指令碼在執行時,會啟動一個子shell進程
命令列中啟動的指令碼會繼承當前shell環境變數
系統自動執行的指令碼(不含命令列)需要自我定義所需的環境變數
程式執行後,一般有兩種傳回值:
1、執行結果傳回值
2、執行狀態傳回值
輸出重新導向
>:覆蓋重新導向
>>:追加重新導向
2>:錯誤重新導向
2>>錯誤追加重新導向
&>:同時(正確、錯誤)重新導向
/dev/null,軟體類比裝置
/dev/zero
撤消變數:unset 變數名
查看當前shell中的變數:使用set,包括環境變數和本地變數,
查看當前shell的環境變數:使用printenv,env或export
弱類型的變數類型預設為字元型
GB-2312
本文出自 “無知有知” 部落格,請務必保留此出處http://yujiqing.blog.51cto.com/1475974/1614930
shell編程變數及變數類型