Shell腳本
(打印帶顏色的:echo -e "\033[32m------------------------\033[1m")
``:執行命令shell
一、固定格式:
腳本第一行:#!/bin/bash
腳本第二行:# 簡介功能
腳本第三行:# 做者編程
二、引用變量:$(變量名和等號之間不能有空格:name="zhangsan")
$n:第幾個變量
$* 與 $@ :全部變量
$* 與 $@ 區別:
相同點:都是引用全部參數。
不一樣點:只有在雙引號中體現出來。假設在腳本運行時寫了三個參數 一、二、3,,則 " * " 等價於 "1 2 3"(傳遞了一個參數),而 "@" 等價於 "1" "2" "3"(傳遞了三個參數)
$?:命令執行是否正確
$#:共有幾個變量數組
三、if條件語句
格式:
if (表達式)
語句一
else
語句二
fi
if判斷大小:
num1=100
num2=200
if (($num1 > $num2));then
echo "num1 > num2"
fibash
四、經常使用邏輯運算符解析(使用中括號兩邊加空格)
-f:判斷文件是否存在 eg: if [ -f filename ];then
-d:判斷目錄是否存在 eg: if [ -d dir ];then
-eq : 等於 -ne : 不等於 -lt : 小於 -gt : 大於 -le : 小於或等於 -ge : 大於或等於 -a : 雙方都成立(and) -o : 單方成立(or) -z : 空字符串函數
五、for循環格式
for 變量 in 字符串
do
語句一
done排序
六、case語句
case 變量 in
狀況1)
語句1
;;
狀況2)
語句2
;;
* )
其餘狀況
;;
esac字符串
七、select 選擇語句(通常用於選擇菜單的建立,能夠配合使用PS3(固定變量)來作菜單的打印輸出信息)
PS3="What do you like most of the open source system?"
select i in CentOS RedHat Ubuntu
do
echo "Your Select System is : " $i
Doneio
八、shell編程函數
function 函數名 () {
command1
……
}for循環
九、Shell 數組:bash支持一維數組(不支持多維數組),而且沒有限定數組的大小。
定義數組:在Shell中,用括號來表示數組,數組元素用"空格"符號分割開。定義數組的通常形式爲:數組名=(值1 值2 ... 值n)
讀取數組:${數組名[下標]}
獲取數組的長度: length=${#array_name[@]}function
十、sed(在不打開文件的狀況下添加或替換內容)Sed是一個基本的查找替換程序。能夠從標準輸入(好比命令管道)讀入文本,並將結果輸出到標準輸出(屏幕)。 sed -i 's/192/10/g' text.sh (把全部192替換爲10,不加-i是預修改,加-i 是真實修改) sed 's/^/&id /g' text.sh (把每行開頭添加"id ") sed '/hello/a #####' (在hello的下一行添加#####,/i 是在hello的上一行添加#####) sed -n '/hello/p' cat number.txt | sed 's/ /\n/g' | grep -v "^$" | sort -nr | sed -n '1p;$p' 輸出最大和最小值(把空格換成換行,-v 去除,-nr 從大到小排序,-n 打印)