1. 程式人生 > 其它 >Shell程式設計規範與變數

Shell程式設計規範與變數

Shell指令碼概述

Shell指令碼的概念

  • 將要執行的命令按順序儲存到一個文字檔案
  • 給該檔案可執行許可權
  • 可結合各種Shell控制語句以完成更復雜的操作

Shell指令碼應用場景

  • 重複性操作
  • 互動性任務
  • 批量事務處理
  • 服務執行狀態監控
  • 定時任務執行

Shell的作用

Shell的作用——命令直譯器,“翻譯官”

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

使用者的登入Shell

  • 登入後預設使用的Shell程式,一般為/bin/bash
  • 不同Shell的內部指令、執行環境等會有所區別

編寫第一個Shell指令碼

編寫指令碼程式碼

  • 使用vim文字編輯器
  • 每行一條Linux命令,按執行順序一次編寫

執行指令碼檔案

  • 方法一:指令碼檔案路徑(絕對路徑與相對路徑)
[root@localhost~]#./first.sh
  • 方法二:sh指令碼檔案路徑
[root@localhost~]#sh first.sh
  • 方法二:source指令碼檔案路徑
[root@localhost~]#source first.sh

注:這裡不建議使用第一種方法(要在當前目錄下執行性,不方便)

重定向與管道操作

互動式硬體裝置

  • 標準輸入:從該裝置接收使用者輸入的資料
  • 標準輸出:通過該裝置向用戶輸出資料
  • 標準錯誤:通過該裝置報告執行出錯誤資訊
型別 裝置檔案 檔案描述編號 預設裝置
標準輸入 /dev/stain 0 鍵盤
標準輸出 /dev/stdout 1 顯示器
標準錯誤輸出 /dev/stderr 2 顯示器

重定向操作

型別 操作符 用途
重定向輸入 < 從指定的檔案讀取資料,而不是從鍵盤輸入
重定向輸出 > 將輸出結果儲存的指定的檔案(覆蓋原有內容)
>> 將輸出結果追加到指定的檔案尾部
標準錯誤輸出 2> 將錯誤資訊儲存到指定的檔案(覆蓋原有內容)
2>> 將錯誤資訊追加到指定的檔案中
混合輸出 &> 將標準輸出、標準錯誤的內容儲存到同一個檔案中

管道操作符號“|”

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

AWK:

AWK是一種處理文字檔案的語言,是一個強大的文字分析工具

Shell變數的作用、型別

變數的作用

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

  • 變數名:使用固定的名稱,由系統預設或使用者定義
  • 變數值:能夠根據使用者設定、系統環境的變化而變化

變數的型別

  • 自定義變數:由使用者自己定義、修改和使用
  • 特殊變數:環境變數、只讀變數,位置變數、預定義變數

自定義變數

定義一個新的變數

  • 變數名以字母或下劃線開頭

檢視變數的值

賦值時使用引號

  • 雙引號:允許通過$符號引用其他變數值
  • 單引號:禁止引用其他變數值,$視為普通字元
  • 反撇號:命令替換,提取命令執行後的輸出結果

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

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

整數變數的運算

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

常用運算子

  • 加法運算:+
  • 減法運算:-
  • 乘法運算:\*
  • 除法運算:/
  • 求模(取餘)運算:%

特殊的Shell變數

環境變數

  • 由系統提前建立,用來設定使用者的工作環境
  • 配置檔案:/etc/profile、 ~/.bash_profile

常見的環境變數

  • PWD、PATH
  • USER、SHELL、HOME

只讀變數

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

centos7安裝JDK

##把以下四行貼上到環境變數中

##最後別忘記啟用