1.shell指令碼程式設計
1.指令碼是:c語言 程式設計
shell : 指令碼 只作用於linux作業系統
以間隔多行命令
2.功能:批量處理檔案
自動去做某些功能
date,who,ls
處理日誌資訊:備份 刪除原日誌 上傳備份檔案
週期性計畫任務
3.學習方法:
linux的命令:lamp -->web伺服器
語法結構—是學習重點
shell指令碼:
計算機(二進位制0和1) — 人(漢語 英語)
一切皆檔案
直譯器:/bin/bash 負責核心翻譯和傳達命令
檢視linux中有多少直譯器:#cat /etc/shells
shell中涉及到的命令:
歷史命令:# history
/etc/profile ----- 記錄了控制歷史命令數量
/ root/ .bash_ history 存放歷史命令
cat . /. bash_ profi le
一相關命令:
#!37 執行歷史記錄中第37個命令
#!str 執行歷史命令當中str開頭的命令
查詢檔案內容: grep
管道符: |
通常配合grep使用
問題:如何快速的將檔案1和檔案2中不同的內容輸出出來並儲存到檔案3?
diff
grep
awk重定向: >
建立指令碼:
1.固定的檔案格式 *** .sh
2. 在檔案第一行:#!/bin/bash //指定直譯器
3.凡是#開頭的都是注釋資訊
建立第乙個指令碼:#vim first.sh
#!/bin/bash
echo 「hello 你好」
執行指令碼檔案:
1.呼叫直譯器強制執行 # sh first.sh
檔案不需要執行許可權
2.當作命令去執行 #chmod +x first.sh
# ./first.sh 相對或絕對路徑
例項:快速yum源配置:
本地yum源:
1.建立空目錄
2.掛載
3.建立配置檔案
4.檢視
#mkdir /dev/***
#mkdir /dev/cdrom /dev/***
#vim /etc /yum.repos.d/centos7.repo
[centos7] //源標識
name=centos7 //源名稱
baseurl=file:///dev/***
gpgcheck=1 //簽名檢查關閉
enable=0 //開機自啟
#yum repolist //檢視是否成功
建立配置yum源指令碼:
#vim yum.sh
#!/bin/bash
mkdir /dev/***
mount /dev/cdrom /dev/***
echo 「」>/etc/yum.repos.d/centos7.repo
以後解決的問題:
1.誰可以去配置yum源—指定root
2.掛載點是否存在
3./dev/cdrom是否存在
4.確認/etc/yum.repos.d/目錄是否為空
5.確認源標識id列是否有嘆號 有嘆號要解決-yum clear all
6.確認是否有包數量顯示
shell指令碼11彈
shell指令碼程式設計 變數補充 if條件判斷 變數的型別 字串 數值 布林型別 true false null shell中指定變數的型別 declare declesar 內建命令 用來宣告和修改變數的屬性 唯讀 readonly r 設定為唯讀變數 declare r a 10 r 不能修改...
shell指令碼十二彈
1.使用正則處理條件 輸出以bash結尾的完整記錄 輸出整行 awk f bash etc passwd 輸出包含root的行 awk f root etc passwd print可以不寫 輸出root或者he賬號的使用者名稱和uid資訊 awk f root tom 輸出賬戶的名稱包含root的...
SHELL指令碼 第五課
參考資料 區分了單引號和雙引號的區別 了解了更多的轉義字元 退出時的狀態。變數使用得當,可以使指令碼變得更加強大和有彈性。bash bash二進位制程式檔案的路徑 bash env 該環境變數儲存乙個bash啟動檔案路徑,當啟動乙個指令碼程式時會去讀該環境變數指定的檔案 bash subshell ...