Shell腳本概述
柯城網(wǎng)站建設公司成都創(chuàng)新互聯(lián)公司,柯城網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經驗。已為柯城千余家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿網(wǎng)站制作要多少錢,請找那個售后服務好的柯城做網(wǎng)站的公司定做!shell腳本的概念:
將要執(zhí)行的命令按順序保存到一個文本文件
給該文件可執(zhí)行權限,便可運行
可結合各種shell控制語句以完成更復雜的操作
shell腳本應用場景:
重復性操作
批量事務處理
自動化運維
服務運行狀態(tài)監(jiān)控
定時任務執(zhí)行
...
shell的作用——命令解釋器,“翻譯官”
介于系統(tǒng)內核與用戶之間,負責解釋命令行
用戶的登錄shell
登錄后默認使用的shell程序,一般為/bin/bash
不同shell的內部指令,運行環(huán)境等會有所區(qū)別
編寫第一個Shell腳本
編寫腳本代碼
使用vim文本編輯器
每行一條Linux命令,按執(zhí)行順序依次編寫
賦予可執(zhí)行權限
使腳本具有可執(zhí)行屬性
執(zhí)行腳本文件
需要執(zhí)行權限才能執(zhí)行,但是不改變位置
./first.sh?
不需要執(zhí)行權限,但是改變位置
. first.sh?
source first.sh?
不需要執(zhí)行權限也不會改變位置
sh first.sh?
更完善的腳本構成
腳本聲明
注釋信息
可執(zhí)行語句
重定向與管道操作
交互式硬件設備
標準輸入:從該設備接收用戶輸入的數(shù)據(jù)
標準輸出:通過該設備向用戶輸出數(shù)據(jù)
標準錯誤:通過該設備報告執(zhí)行出錯信息
類型 | 設備文件 | 文件描述編號 | 默認設備 |
標準輸入 | /dev/stdin | 0 | 鍵盤 |
標準輸出 | /dev/stdout | 1 | 顯示器 |
標準錯誤輸出 | /dev/stderr | 2 | 顯示器 |
重定向操作
類型 | 操作符 | 用途 |
重定向輸入 | < | 從指定的文件讀取數(shù)據(jù),而不是從鍵盤輸入 |
重定向輸出 | > | 將輸出結果保存到指定的文件(覆蓋原有內容) |
>> | 將輸出結果追加到指定文件 | |
標準錯誤輸出 | 2> | 將錯誤信息保存到指定溫家安(覆蓋原有內容) |
2>> | 將錯誤信息追加到指定文件中 | |
混合輸出 | &> | 將標準輸出,標準錯誤的內容保存到同一個文件中 |
管道操作符號“|”
將左側的命令輸出結果,作為右側命令的出來對象
shell變量的作用,類型
變量的作用
為靈活管理Linux系統(tǒng)提供特定參數(shù),有兩層意思
變量名:使用固定的名稱,由系統(tǒng)預設或用戶定義
變量值:能夠根據(jù)用戶設置,系統(tǒng)環(huán)境的變化而變化
變量的類型
自定義變量:由用戶自己定義,修改和使用
環(huán)境變量:有系統(tǒng)維護,用于設置工作環(huán)境
位置變量:通過命令行給腳本程序傳遞參數(shù)
預定義變量:Bash中內置的一類變量,不能直接修改
自定義的變量
定義一個新的變量
變量名以字母或下劃線開頭,區(qū)分大小寫,建議全大寫
查看變量的值
echo?$變量名賦值時使用引號
雙引號:允許通過$符號引用其他變量值
單引號:禁止引用其他變量值,$視為普通字符
反撇號:命令替換,提取命令執(zhí)行后的輸出結果
從鍵盤輸入內容為變量賦值
read?[-p?"提示信息"]?變量名設置變量的作用范圍
格式1:export?變量名... 格式2:export?變量名=變量值...——兩種格式可以混合使用
整數(shù)變量的運算
expr?變量1?運算符?變量2?[運算符?變量3]...常用的運算符
加法運算:+
減法運算:-
乘法運算:\*
除法運算:/
求模(取余)運算:%
小腳本實例:輸入兩個數(shù)字,并求出他們的和
#!/bin/bash #輸入兩個整數(shù),求他們的和 #輸入第一個數(shù) read?-p?"請輸入一個整數(shù)"?num1 #輸入第二個數(shù) read?-p?"請輸入一個整數(shù)"?num2 #進行加法運算 sum=`expr?$num1?+?$num2` #顯示出兩個數(shù)之和 echo?"兩個數(shù)字之和是:$sum"特殊的shell變量
環(huán)境變量
由系統(tǒng)提前創(chuàng)建,用來設置用戶的工作環(huán)境
配置文件:/etc/profile , ~/.bash_profile
常見的環(huán)境變量
PWD,PATH
USER,SHELL,HOME
位置變量
表示為$n,n為1~9之間的數(shù)字
預定義變量
$#:命令行中位置變量的個數(shù)
$*:所有位置變量的內容
$?:上一條命令執(zhí)行后返回的狀態(tài),當返回狀態(tài)值為0時表示執(zhí)行正常,非0值表示執(zhí)行異?;虺鲥e
$0:當前執(zhí)行的進程/程序號
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。