Linux shell命令基本語(yǔ)法基本變量介紹
Linux shell命令與程序員的生活不可分割。但是有不少的程序員都無(wú)法進(jìn)行熟練的使用,其實(shí)很簡(jiǎn)單只要熟悉他的基本原理就能掌握這些東西。接下來(lái)我們就看看具體的Linux shell命令介紹。
其實(shí)作為命令語(yǔ)言交互式地解釋和執(zhí)行用戶輸入的命令只是shell功能的一個(gè)方面,Linux shell命令還可以用來(lái)進(jìn)行程序設(shè)計(jì),它提供了定義變量和參數(shù)的手段以及豐富的程序控制結(jié)構(gòu)。使用shell編程類似于DOS中的批處理文件,稱為shell script,又叫shell程序或Linux shell命令文件。
shell基本語(yǔ)法
shell的基本語(yǔ)法主要就是如何輸入命令運(yùn)行程序以及如何在程序之間通過(guò)shell的一些參數(shù)提供便利手段來(lái)進(jìn)行通訊。
(1)輸入輸出重定向
在Linux中,每一個(gè)進(jìn)程都有三個(gè)特殊的文件描述指針:標(biāo)準(zhǔn)輸入(standard input,文件描述指針為0)、標(biāo)準(zhǔn)輸出(standard output,文件描述指針為1)、標(biāo)準(zhǔn)錯(cuò)誤輸出(standard error,文件描述指針為2)。這三個(gè)特殊的文件描述指針使進(jìn)程在一般情況下接收標(biāo)準(zhǔn)輸入終端的輸入,同時(shí)由標(biāo)準(zhǔn)終端來(lái)顯示輸出,Linux同時(shí)也向使用者提供可以使用普通的文件或管道來(lái)取代這些標(biāo)準(zhǔn)輸入輸出設(shè)備。在Linux shell命令中,使用者可以利用“>”和“<”來(lái)進(jìn)行輸入輸出重定向。如:
command>file:將命令的輸出結(jié)果重定向到一個(gè)文件。
command>&file:將命令的標(biāo)準(zhǔn)錯(cuò)誤輸出一起重定向到一個(gè)文件。
command>>file:將標(biāo)準(zhǔn)輸出的結(jié)果追加到文件中。
command>>&file:將標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出的結(jié)構(gòu)都追加到文件中。
command
(2)管道pipe
pipe同樣可以在標(biāo)準(zhǔn)輸入輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出間做代替工作,這樣一來(lái),可以將某一個(gè)程序的輸出送到另一個(gè)程序的輸入,其語(yǔ)法如下:
- command1| command2[| command3...]
也可以連同標(biāo)準(zhǔn)錯(cuò)誤輸出一起送入管道:
- command1| &command2[|& command3...]
(3)前臺(tái)和后臺(tái)
在Linux shell命令下面,一個(gè)新產(chǎn)生的進(jìn)程可以通過(guò)用命令后面的符號(hào)“;”和“&”來(lái)分別以前臺(tái)和后臺(tái)的方式來(lái)執(zhí)行,語(yǔ)法如下:
- command
產(chǎn)生一個(gè)前臺(tái)的進(jìn)程,下一個(gè)命令須等該命令運(yùn)行結(jié)束后才能輸入。
- command &
產(chǎn)生一個(gè)后臺(tái)的進(jìn)程,此進(jìn)程在后臺(tái)運(yùn)行的同時(shí),可以輸入其他的命令。
shell程序的變量和參數(shù)
像高級(jí)程序設(shè)計(jì)語(yǔ)言一樣,shell也提供說(shuō)明和使用變量的功能。對(duì)shell來(lái)講,所有變量的取值都是一個(gè)字符串,shell程序采用$var的形式來(lái)引用名為var的變量的值。
Shell有以下幾種基本類型的變量:
(1)shell定義的環(huán)境變量
Linux shell命令在開始執(zhí)行時(shí)就已經(jīng)定義了一些和系統(tǒng)的工作環(huán)境有關(guān)的變量,這些變量用戶還可以重新定義,常用的shell環(huán)境變量有:
HOME:用于保存注冊(cè)目錄的完全路徑名。
PATH:用于保存用冒號(hào)分隔的目錄路徑名,shell將按PATH變量中給出的順序搜索這些目錄,找到的第一個(gè)與命令名稱一致的可執(zhí)行文件將被執(zhí)行。
TERM:終端的類型。
UID:當(dāng)前用戶的標(biāo)識(shí)符,取值是由數(shù)字構(gòu)成的字符串。
PWD:當(dāng)前工作目錄的絕對(duì)路徑名,該變量的取值隨cd命令的使用而變化。
PS1:主提示符,在特權(quán)用戶下,缺省的主提示符是“#”,在普通用戶下,缺省的主提示符是“$”。
PS2:在Linux shell命令接收用戶輸入命令的過(guò)程中,如果用戶在輸入行的末尾輸入“\”然后回車,或者當(dāng)用戶按回車鍵時(shí)shell判斷出用戶輸入的命令沒(méi)有結(jié)束時(shí),顯示這個(gè)輔助提示符,提示用戶繼續(xù)輸入命令的其余部分,缺省的輔助提示符是“>”。
【編輯推薦】