人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

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

發(fā)布日期:2022-02-23 14:54 | 文章來源:源碼中國

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

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

  Shell基本語法

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

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

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

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

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

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

TERM 終端的類型。

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

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

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

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

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

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

變量名=變量值

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

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

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

readonly 變量名

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

export 變量名

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

export 變量名=變量值

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

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

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

  (4)預(yù)定義變量:

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

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

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

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

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

$! 后臺運行的最后一個進(jìn)程號。

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

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

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

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

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

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

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

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

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

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

以上就是Shell命令的使用教程了,可以說Shell命令是Linux系統(tǒng)中必不可少的編程工具。

海外穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部