當前位置:
首頁 > 知識 > Linux/Unix運維之Shell變數知識進價與實踐

Linux/Unix運維之Shell變數知識進價與實踐

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 特殊變數