1. 程式人生 > >shell編程:編譯器、解釋器 變量

shell編程:編譯器、解釋器 變量

port 解釋器 代碼段 pri 初始 所有 包含 數據 當前

強類型(變量) 靜態語言 編譯型語言 無解釋器 有編譯器 使用變量時需要事先聲明,甚至還需初始化 NULL
弱類型(變bash變量類型:環境變量,本地變量,(局部變量),位置變量,特殊變量
本地變量:bash進程的變量,引用變量:${}量) 動態語言 腳本編程 變量用時聲明 ,甚至不區分類型:默認為字VARNAME符,有時花括號可以省略

隱式轉換 :
顯式轉換 :
變量賦值:VAR_NAME=VALUE
bash變量類型:環境變量,本地變量,(局部變量),位置變量,特殊變量
本地變量:bash進程的變量,引用變量:${VARNAME},有時花括號可以省略
VARNAME=VALUE 作用域是整個bash進程
局部變量:local VARNAME=VALUE 作用域為當前代碼段
環境變量:作用域為當前shell進程及其子進程 export VARNAME=VALUE
腳本在執行時會啟動一個子shell進程,命令行中啟動的腳本會繼承當前shell 環境變量,系統自動執行的腳本(非命令行啟動)就需要自我定義需要各環境變量:
位置變量 $1, $2,$3 ...... 特殊變量 $? :上一個命令的執行狀態返回值
程序執行可能兩類返回值 程序執行結果 程序執行狀態 ,程序執行狀態 代碼(0-255) 0 正確執行
1-255 錯誤執行
1,2,127系統保留
/dev/null 軟件設備,bit bucket 數據黑洞 撤消變量 unset VARNAME ($VARNAME變量值)
查看當前shell中變量:set查看當前shell中的環境變量 printenv /env /export shell默認所有變量都是字符串
腳本:命令的堆砌,按實際需要,結合命令流程控制機制實現的源程序, shebang:指定魔數 #!/bin/bash 第一行 其它行數 #開頭為註釋行,條件測試的表達式:[expression] [expression]
test expression 整數比較: -eq :測試兩個整數相等 比如$A -eq $B
變量名稱:1、只能包含字母、數字和下劃線、並且不能數字開頭
2、不應該跟系統中已有的環境變量重名
3、最好做到見名知義
控制結構:
if判斷條件 :then
statement1 statement2 fi
if 判斷條件 then
statement1
statement2
else
statement1
statement2
fi

shell編程:編譯器、解釋器 變量