將os命令堆積到可執行的檔案裡,由上至下的順序執行文字裡的os命令 就是指令碼了.再加上些智慧型(條件/流控)控制,就變成了智慧型化指令碼了.
part1 為何要有變數
程式的執行就是一些列狀態的變數->用變數值的變化去表示
part2 變數命名規則
以字母或下劃線開頭,剩下的部分可以是:字母、數字、下劃線.
最好遵循下述規範:
1.以字母開頭
2.使用中劃線或者下劃線做單詞的連線
3.同型別的用數字區分
4.對於檔案最好加上拓展名
例如: sql_bak.tar.gz,log_bak.tar.bz2
part3 系統變數
set 和 env區別
set:顯示所有變數
env:環境變數
part4 變數賦值
varname=value
echo $varname
刪除變數 unset varname
part5 常用系統變數
path
pwdlang
home
histsize
ps1ifs
域分隔符 是空格,換行,tab鍵的合集
part6 全域性變數與區域性變數
[root@miwifi-r3-srv ~]# gender='male' #在爹這個位置定義乙個區域性變數gender
[root@miwifi-r3-srv ~]# export money=1000 #在爹這個位置定義乙個全域性變數money
[root@miwifi-r3-srv ~]#
[root@miwifi-r3-srv ~]#
[root@miwifi-r3-srv ~]# bash #切換到子bash
[root@miwifi-r3-srv ~]# echo $gender #在兒子這裡看它爹的區域性變數gender,結果為空->看不到
[root@miwifi-r3-srv ~]# echo $money #在兒子這裡看它爹的全域性變數money,可以看到
1000
[root@miwifi-r3-srv ~]#
[root@miwifi-r3-srv ~]# export hobby='piao' #在兒子這裡定義乙個全域性變數hobby
[root@miwifi-r3-srv ~]# exit #退出,進入爹的bash環境
exit
[root@miwifi-r3-srv ~]# echo $hobby #爹是看不到兒子的export的,兒子的兒子可以看到
[root@miwifi-r3-srv ~]#
part6 定義變數名的邊界
[root@miwifi-r3-srv ~]# rest_mem=20
[root@miwifi-r3-srv ~]# echo $%
20%part 7 資料型別
bash中的變數無須宣告,拿來就用.預設的變數都會是字元型別,還可以有數字型別,普通的指令碼,這兩種型別夠用了
shell 基本語法
1,環境變數 環境變數可以從父程序傳給子程序,即shell的環境變數可以傳遞給fork出來的子程序 檢視當前shell的環境變數 command itcast printenv printenv 中的 env 是environment variable 的縮寫2,本地變數 只存在於當前程序 檢視當前...
Shell基本語法
二 引數傳遞 三 運算 四 邏輯運算子 五 條件分支 六 迴圈控制 七 函式 八 shell 輸入 輸出重定向 九 shell 檔案包含 1.變數命名之間不能有空格 2.使用變數需要使用 符號,最好使用 來規定變數的邊界,可以在字串中直接使用變數 3.唯讀變數用 readonly 修飾 4.刪除變數...
shell基本語法
shell基本語法 是乙個約定的標記,他告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種shell shell變數 定義變數 num 5 使用變數時要在變數名前加乙個 例 echo num 注意 等號的兩邊不能有空格 命名只能使用英文本母,數字和下劃線,首字元不能以數字開頭。中間不能有空格,可以...