1. 程式人生 > 其它 >21.7.7 t2

21.7.7 t2

目錄

一、Shell指令碼概述

1.1、shell指令碼的概念

  • 將要執行的命令按順序儲存到一個文字檔案

  • 給該檔案可執行許可權

  • 可結合各種shell控制語句以完成更復雜的操作

1.2、shell指令碼應用場景

  • 重複性操作

  • 互動性任務

  • 批量事務處理

  • 服務執行狀態監控

  • 定時任務執行

1.3、shell的作用——命令翻譯器,“翻譯官”

介於系統核心與使用者之間,負責解釋命令列

1.4、使用者的登入shell

二、shell程式設計規範

2.1、編寫指令碼程式碼

使用vim文字編輯器或者vi文字編輯器

每行一條Linux命令,按執行順序依次編寫

2.2、賦予可執行許可權

使指令碼具有可執行屬性

2.3、執行指令碼檔案的方法

指令碼檔案路徑(絕對路徑與相對路徑,必須有x許可權)

sh 指令碼檔案路徑

source 指令碼檔案路徑(也可以通過.來執行)

2.4、更完善的指令碼構成

指令碼宣告

若第一行為
“#!/bin/bash”,表示此行以下的程式碼語句是通過/bin/bash程式來結實執行,#!/bin/bash為預設直譯器,還有其他型別的直譯器,比如#!/usr/bin/python、#!/usr/bin/expect。

註釋資訊

以“#”開頭的語句表示為註釋資訊,被註釋的語句在執行指令碼時將不被執行。

可執行語句

比如echo命令,用於輸出“ ”之間的字串。

2.5、重定向與管道

互動式硬體裝置

標準輸入:從該裝置接收使用者輸入的資料

標準輸出:通過該裝置向用戶輸出資料

標準錯誤:通過該裝置報告執行出錯資訊

重定向操作

管道操作符號“|”

將左側的命令輸出結果,作為右側命令的處理物件

格式為:cmd1 | cmd2 [… | cmdn]

2.6、Shell變數的作用、型別

變數的作用

用來存放系統和使用者需要使用的特定引數(值)

變數名:使用固定的名稱,由系統預設或使用者定義

變數值:能夠根據使用者設定、系統環境的變化而變化

特殊的型別

自定義變數:由使用者自己定義、修改和使用

特殊變數:環境變數,只讀變數,位置變數,預定義變數

2.7、自定義變數

定義一個新的變數

變數名以字母或下劃線開頭,區分大小寫,建議全大寫

變數名=變數值

檢視變數的值echo $變數名

賦值時使用引號

雙引號: 允許通過$符號引用其他變數值

單引號: 禁止引用其他變數值,$視為普通字元

反撇號: 命令替換,提取命令執行後的輸出結果

從鍵盤輸入內容為變數賦值

read [-p "提示資訊"] 變數名

設定變數的作用範圍

格式1:export 變數名

格式2:export 變數名=變數值

整數變數的運算

expr 變數1 運算子 變數2 [運算子 變數3]

2.8、特殊的Shell變數

環境變數

由系統提前建立,用來設定使用者的工作環境

配置檔案:/etc/profile、~/.bash_profile

常見的環境變數有:
PWD、PATH
USER、SHELL、HOME

只讀變數

用於變數值不允許被修改的情況