一、什麼是shell
shell也是作業系統中的乙個軟體,它包在linux核心的外面,為使用者和核心之間的互動提供了乙個介面,系統中的命令用shell去解釋shell接受系統回應的輸出並顯示其到螢幕中
shell的型別如下圖
二、什麼是shell指令碼
指令碼是一種解釋型語言
用shell指令碼儲存執行的動作
用指令碼判定命令的執行動作
用指令碼來實現動作的批量執行
*shell指令碼hello world如下圖
第一行為幻術,指定shell的型別
*shell指令碼的執行
1)sh 直接用指定直譯器解釋(什麼都不加預設用shell),不讀幻術,不需要加執行許可權
2)./執行,用指令碼寫入的幻術直譯器解釋,需要加執行許可權
chmod +x
三、shell指令碼的vim編寫
在/etc/vimrc配置檔案下,編寫如下圖
第66行map表示設定快捷鍵為[f9];ms呼叫什麼東西『s表示自動執行
第67行表示自動執行,條件是新檔案以.sh結尾的檔案;自動執行
author__指令碼作者
createtime__指令碼創作時間;.strftime表示捕捉時間
mail__指令碼作者****(隨意寫的)
version__指令碼的版本
description__指令碼的描述
四、指令碼的除錯
1)sh -x 指令碼名稱 適用於所有shell指令碼
2)在指令碼的幻術行末尾加上 -x
顯示出來+後面的表示命令
五、指令碼中常用的命令
1、diff命令
*)diff命令是用來比較兩個檔案或目錄的不同
a表示新增
c表示改變
d表示刪除
《表示第乙個檔案中的內容,>表示第二個檔案的內容
第乙個檔案第二行新增123
第乙個檔案刪除第二行的123
*)diff -u 以合併的方式來顯示檔案內容的不同
這裡可以生成westos.path(補丁檔案)
可以將第乙個檔案新增補丁使兩個檔案一致
2、pacth命令
用於不同檔案打補丁
3、cut命令
用於命令多用與字元擷取
cut -d 指定分隔符
cut -f 指定擷取的列
cut -c 指定擷取的字元位置
例項:執行ifconfig eth0截取出ip
多用與字元排序
sort -n 純數字排序
sort -r 倒序
sort -u 去掉重複數字
sort -o 輸出到指定檔案
sort -t 指定分隔符
sort -k 指定要排序的列
例項:按記憶體使用率排序,並顯示其pid
5、&&和||
&&用來執行條件成立後執行的命令
||用來執行條件不成立後執行的命令
例項:用來顯示ping主機,如果ping通顯示up,不通顯示down
6、顏色的設定
7、test命令
test命令和[ ]等同
還是配合上面顯示ping通否
1)[ -z "$1" ]-z 表示是否是空白
2)-ge 大於等於
例項:如果根目錄的使用率大於百分之八十則給root發郵件提示
3)-eq 等於
-ne 不等於
這兩個是數學的表示方法
-gt 大於
-ge 大於等於
-le 小於等於
-lt 小於
4)可以滿足多個條件
-a and 和
-o or 或者
5)-ef 節點號是否一致
-nt是否比這個檔案新(時間戳)
-ot 是否比這個檔案老
6)file
檢測檔案型別
-e 檢視是否存在這個檔案
-f 是否是普通檔案
-l 是否是鏈結檔案
-s 是否是套接字檔案
-b 是否是塊裝置檔案
-d 是否是目錄
-c 是否是字元裝置
例項:寫乙個指令碼可以顯示檔案時什麼型別
補充tr命令,大小寫的轉換
tr 'a-z' 'a-z' < 選擇匯入的檔案
linux下的shell指令碼
shell也是作業系統中的乙個軟體,它包在linux核心的外面,為使用者和核心之間的互動提供了乙個介面,系統中的命令用shell去解釋shell接受系統回應的輸出並顯示其到螢幕中 什麼是shell指令碼 指令碼是一種解釋型語言,用shell指令碼儲存執行動作,用指令碼判定命令的執行條件,用指令碼來實...
Linux下Shell指令碼
shell 指令碼 shell script 是一種為 shell 編寫的指令碼程式。從業界所說的 shell 通常都是指 shell 指令碼,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念。由於習慣的原因,簡潔起見,本文出現的 shell程式設計 都是指 shell ...
LINUX下的shell指令碼 shell簡介篇
什麼是shell?1.shell是linux的一外殼,它包在linux核心的外面,為使用者和核心之間的互動提供了乙個介面 2.當使用者下達指令給作業系統的時候,實際上是把指令告訴shell,經過shell解釋,處理後讓核心做出相應的動作 3.系統的回應和輸出的資訊也由shell處理,然後顯示在使用者...