溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)Shell命令常用功能使用介紹

發(fā)布時(shí)間:2021-08-02 21:46:36 來源:億速云 閱讀:221 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容主要講解“Linux系統(tǒng)Shell命令常用功能使用介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Linux系統(tǒng)Shell命令常用功能使用介紹”吧!

  Linux系統(tǒng)中Shell不僅僅是一個(gè)命令,而且是其他命令的解釋器??梢哉{(diào)試其他命令,從而完成編譯。那么Linux系統(tǒng)中Shell命令應(yīng)該怎么使用呢?

  其實(shí)作為命令語言互動(dòng)式地解釋和執(zhí)行用戶輸入的命令只是Shell功能的一個(gè)方面,Shell還可以用來進(jìn)行程序設(shè)計(jì),它提供了定義變量和參數(shù)的手段以及豐富的程序控制結(jié)構(gòu)。使用Shell編程類似于DOS中的批處理文件,稱為Shell script,又叫Shell程序或Shell命令文件。

  Shell基本語法

  像高級程序設(shè)計(jì)語言一樣,Shell也提供說明和使用變量的功能。對Shell來講,所有變量的取值都是一個(gè)字串,Shell程序采用$var的形式來引用名為var的變量的值。

  Shell有以下幾種基本類型的變量。

 ?。?)Shell定義的環(huán)境變量:

  Shell在開始執(zhí)行時(shí)就已經(jīng)定義了一些和系統(tǒng)的工作環(huán)境有關(guān)的變量,用戶還可以重新定義這些變量,常用的Shell環(huán)境變量有:

  HOME 用于保存注冊目錄的完全路徑名。

  PATH 用于保存用冒號(hào)分隔的目錄路徑名,Shell將按PATH變量中給出的順序搜索這些目錄,找到的第一個(gè)與命令名稱一致的可執(zhí)行文件將被執(zhí)行。

  TERM 終端的類型。

  UID 當(dāng)前用戶的識(shí)別字,取值是由數(shù)位構(gòu)成的字串。

  PWD 當(dāng)前工作目錄的絕對路徑名,該變量的取值隨cd命令的使用而變化。

  PS1 主提示符,在特權(quán)用戶下,默認(rèn)的主提示符是#,在普通用戶下,默認(rèn)的主提示符是$。

  PS2 在Shell接收用戶輸入命令的過程中,如果用戶在輸入行的末尾輸入“\”然后回車,或者當(dāng)用戶按回車鍵時(shí)Shell判斷出用戶輸入的命令沒有結(jié)束時(shí),就顯示這個(gè)輔助提示符,提示用戶繼續(xù)輸入命令的其余部分,默認(rèn)的輔助提示符是》。

 ?。?)用戶定義的變量:

  用戶可以按照下面的語法規(guī)則定義自己的變量:

  變量名=變量值

  要注意的一點(diǎn)是,在定義變量時(shí),變量名前不應(yīng)加符號(hào)$,在引用變量的內(nèi)容時(shí)則應(yīng)在變量名前加$;在給變量賦值時(shí),等號(hào)兩邊一定不能留空格,若變量中本身就包含了空格,則整個(gè)字串都要用雙引號(hào)括起來。

  在編寫Shell程序時(shí),為了使變量名和命令名相區(qū)別,建議所有的變量名都用大寫字母來表示。

  有時(shí)我們想要在說明一個(gè)變量并對它設(shè)置為一個(gè)特定值后就不在改變它的值時(shí),可以用下面的命令來保證一個(gè)變量的只讀性:

  readonly 變量名

  在任何時(shí)候,創(chuàng)建的變量都只是當(dāng)前Shell的局部變量,所以不能被Shell運(yùn)行的其他命令或Shell程序所利用,而export命令可以將一個(gè)局部變量提供給Shell執(zhí)行的其他命令使用,其格式為:

  export 變量名

  也可以在給變量賦值的同時(shí)使用export命令:

  export 變量名=變量值

  使用export說明的變量,在Shell以后運(yùn)行的所有命令或程序中都可以訪問到。

 ?。?)位置參數(shù):

  位置參數(shù)是一種在調(diào)用Shell程序的命令行中按照各自的位置決定的變量,是在程序名之后輸入的參數(shù)。位置參數(shù)之間用空格分隔,Shell取第一個(gè)位置參數(shù)替換程序文件中的$1,第二個(gè)替換$2,依次類推。$0是一個(gè)特殊的變量,它的內(nèi)容是當(dāng)前這個(gè)Shell程序的文件名,所以,$0不是一個(gè)位置參數(shù),在顯示當(dāng)前所有的位置參數(shù)時(shí)是不包括$0的。

 ?。?)預(yù)定義變量:

  預(yù)定義變量和環(huán)境變量相類似,也是在Shell一開始時(shí)就定義了的變量。所不同的是,用戶只能根據(jù)Shell的定義來使用這些變量,而不能重定義它。所有預(yù)定義變量都是由$符和另一個(gè)符號(hào)組成的,常用的Shell預(yù)定義變量有:

  $# 位置參數(shù)的數(shù)量。

  $* 所有位置參數(shù)的內(nèi)容。

  $? 命令執(zhí)行后返回的狀態(tài)。

  $$ 當(dāng)前進(jìn)程的進(jìn)程號(hào)。

  $! 后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程號(hào)。

  $0 當(dāng)前執(zhí)行的進(jìn)程名。

  其中,$?用于檢查上一個(gè)命令執(zhí)行是否正確。(在Linux中,命令退出狀態(tài)為0表示該命令正確執(zhí)行,任何非0值表示命令出錯(cuò)。)

  $$變量最常見的用途是用做暫存文件的名字以保證暫存文件不會(huì)重復(fù)。

  (5)參數(shù)置換的變量:

  Shell提供了參數(shù)置換功能以便用戶可以根據(jù)不同的條件來給變量賦不同的值。參數(shù)置換的變量有4種,這些變量通常與某一個(gè)位置參數(shù)相聯(lián)系,根據(jù)指定的位置參數(shù)是否已經(jīng)設(shè)置類決定變量的取值,它們的語法和功能分別如下。

  a. 變量=${參數(shù)-word}:如果設(shè)置了參數(shù),則用參數(shù)的值置換變量的值,否則用word置換。即這種變量的值等于某一個(gè)參數(shù)的值,如果該參數(shù)沒有設(shè)置,則變量就等于word的值。

  b. 變量=${參數(shù)=word}:如果設(shè)置了參數(shù),則用參數(shù)的值置換變量的值,否則把變量設(shè)置成word,然后再用word替換參數(shù)的值。注意,位置參數(shù)不能用于這種方式,因?yàn)樵赟hell程序中不能為位置參數(shù)賦值。

  c. 變量=${參數(shù)?word}:如果設(shè)置了參數(shù),則用參數(shù)的值置換變量的值,否則就顯示word并從Shell中退出,如果省略了word,則顯示標(biāo)準(zhǔn)信息。這種變量要求一定等于某一個(gè)參數(shù)的值。如果該參數(shù)沒有設(shè)置,就顯示一個(gè)信息,然后退出,因此這種方式常用于出錯(cuò)指示。

  d. 變量=${參數(shù)+word}:如果設(shè)置了參數(shù),則用word置換變量,否則不進(jìn)行置換。

  所有這4種形式中的“參數(shù)”既可以是位置參數(shù),也可以是另一個(gè)變量,只是用位置參數(shù)的情況比較多。

到此,相信大家對“Linux系統(tǒng)Shell命令常用功能使用介紹”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI