shell 基本語法

2022-03-15 12:43:13 字數 1533 閱讀 4460

將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 注意 等號的兩邊不能有空格 命名只能使用英文本母,數字和下劃線,首字元不能以數字開頭。中間不能有空格,可以...