shell 指令碼第五彈

2021-10-04 07:17:29 字數 1720 閱讀 3931

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 ...