Linux/Unix運維之Shell變數知識進價與實踐
想要很好的管理Linux系統,shell腳本語言是其必備的工具,Linux/Unix系統的底層及基礎應用軟體的核心大都涉及shell腳本的內容。社長常說,浪費讀者時間就是謀財害命,這次就從五個方面來解釋一下,shell中的五個特殊變數!沒有寫明怎麼用的,可以自己去嘗試一下,學起來會更有趣些!
一、Shell中的特殊位置參數變數
在shell中存在一些特殊且重要的變數,例如:$0、$1、$#,我們稱之為特殊位置參數變數。當我們需要從命令行、函數或腳本執行等處傳遞參數是,就需要在shell腳本中使用位置參數變數!下面介紹五個常用的位置參數變數!
$0:獲取當前執行的shell腳本的文件名,如果執行腳本包含了路徑,那麼就會包含腳本路徑!
$n:獲取當前執行的shell腳本的第n個參數值,n=1..9,當n為0時表示腳本的文件名;如果n大於9,則用大括弧括起來,例如{10}!
$#:獲取當前執行的shell腳本後面接的參數的總個數!
$*:獲取當前shell腳本所有傳參的參數,不加引號和$@相同:如果給$*加上雙引號,則表示將所以的參數視為單個字元串,相當於」$1$2$3」
$@:獲取當前shell腳本所有傳參的參數,不加引號和$*相同;如果給$@加上雙引號,例如:」$@」,則表示將所有的參數視為不同的獨立字元串,相對於」$1」」$2」」...」。這是將多參數傳遞給其他程序的最佳方式,因為它會保留所有的內嵌在每個參數里的任何空白。
二、Shell進程中的特殊狀態變數
主要涉及四個shell進程的特殊狀態變數說明
$?:獲取執行上一個指令的執行狀態返回值(0為成功,非零為失敗),最常用的變數。
$$:獲取當前執行的shell腳本的進程號(PID),了解即可
$!:獲取上一個在後台工作進程的進程號(PID),了解即可
$_:獲取之執行的命令或腳本的最後一個參數,了解即可
三、Bash Shell內置變數命令
Bash Shell包含一些內置命令,這些內置命令在目錄列表裡是看不見的,他們由shell本身提供。常用的命令由:echo、eval、exec、read、shift、exit!
Echo:在屏幕上輸出信息
Eval:(eval Args),shell讀取參數args,並將他們組合成一個新的命令,然後執行!
Exec:在不創建新的子進程前提下,執行指定的命令,當該命令執行完畢後,該進程也就壽終正寢了!
Read:從標準輸入讀取字元串等信息,傳給shell程序內部定義的變數!
Shift:命令格式」shift-Shift positional parameters」,可以改變位置參數變數,每執行一次,位置參數$#減一,直到減為0
Exit:命令格式」exit-Exit the shell」,退出shell程序。
四、Shell變數子串知識
這段知識會在之後做單獨發文記錄!主要是用來做批處理的,本文就不做介紹了!
五、Shell特殊擴展變數的知識
這段知識會在之後做單獨發文記錄!主要是用來做批處理的,本文就不做介紹了!
最後偷懶留倆個知識點,之前學習,別人給什麼就吃什麼,發現後來很多東西,說忘就忘了,記得的,唯獨自己研究使用的東西!下一篇會對「Shell特殊擴展變數的知識」做詳細描述!同時也會附上水猿學習的心得,能不能事半功倍,你說了算!
※變數的數值計算(Linux/Unix運維)
※美國一名女子堅信自己是最美的,每次出門都要化妝,怕別人愛上她
※打王者榮耀用什麼手機最好?iPhone7Plus無人能出其右
TAG:我不是程序猿 |
※Python和Scala的定義變數
※linux-shell編程中awk變數的使用
※python基礎之變數類型number(math模塊)
※Flipkart-Walmart交易:軟銀最終會有變數嗎
※Shell 變數
※VBScript 變數
※「Python」Chapter1 變數和簡單數據類型
※python基礎之變數與運算符
※The Daily Beast:美朝峰會出現變數,特朗普怪罪中國
※微軟摺疊屏專利現身,Surface Phone或有變數
※全新斯巴魯Levorg問世有變數 EyeSight成拖累主因
※Perl 變數
※Linux 設置環境變數和Mongodb設置賬號密碼
※關於如何使用webpack命令行傳入變數,並通過process.env來調用
※TensorFlow中常量與變數的基本操作演示
※「學習筆記」Python dir()函數和 __doc__ 變數的使用
※非靜態內部類中 static/final 成員變數相關的一道趣題
※linux 環境變數配置
※static 成員變數、static 成員函數、類/對象的大小
※Perl 特殊變數