一、sehll簡介:
用戶通過shell向計算機發送指令的
計算機通過shell給用戶返回指令的執行結果
?1.1、通過shell編程可以達到的效果
提高工作的效率
可以實現自動化
1.2、sehll腳本編寫的流程
1、用vi/vim創建一個.sh的文件
2、在文件中進行開發
3、個文件賦予可執行權限
4、執行腳本
1.3、變量
本地變量:
? ? ? ? 定義變量:Var_Name="Value" (變量名=變量值)
? ? ? ? 引用變量:${Var_Name}(注意花括號可以省略不寫)
? ? ? ? 撤銷變量:unset Var_Name
注意:定義的變量只可以在當前終端上使用其他地方不可以!!!!
局部變量:
? ? ? ? 定義變量:local Var_Name
注意:實在是在函數內部生效的
環境變量:
????????什么是環境變量:環境變量是用來定義bash的工作特性的? ? ? ??
????????定義變量:export Var_Name="Value"
? ? ? ? 常用的環境變量:
? ? ? ? ? ? ? ? PS1
? ? ? ? ? ? ? ? HOSTNAME
? ? ? ? ? ? ? ? LANG
set命令可以顯示當前系統上的所有變量export,env命令可以顯示環境變量
?????????配置文件:
????????????????profile類:為交互式登陸的用戶提供的配置
? ? ? ? ? ? ? ? bashrc類:非交互式登錄的用戶提供配置
位置變量:
? ? ? ? 主要用于向腳本中傳遞參數? ? ? ??
? ? ? ? 表示方法:$1,$2,$3...$n
? ? ? ? 例子:./1.sh 1? 2(傳入兩個數據)
特殊變量:
? ? ? ? $0:腳本(文件)自身名稱
? ? ? ? $?:上個命令的執行狀態
? ? ? ? $#:參數列表(位置變量的數量)
? ? ? ? $@:顯示參數列表中的具體內容
1.4、變量名的命名要求:
只能使用數字、字母和下劃線組成
不能以數字開頭
不能使用Linux中的關鍵字
1.5、變量名的默認規則:
見明知意
自定義變量小寫
環境變量大寫
1.6、特殊文件:
? ? ? ? /dev/null:黑洞文件(echo進去的內容都會屏蔽)
? ? ? ? /dev/zero:這是個無限吐零的文件
dd if=/dev/zero of=zeros.bin bs=1G count=100000