淺析Unix操作系統(tǒng)set命令
Unix操作系統(tǒng)有很多值得學(xué)習(xí)的地方,這里我們主要介紹Unix操作系統(tǒng)中的set命令,包括介紹set命令的具體實現(xiàn)過程以及需要注意的內(nèi)容等方面。大家一起來學(xué)習(xí)下吧!
set命令簡介。
在Unix系統(tǒng)中,set命令時一個很有用的系統(tǒng)命令,其可以幫助系統(tǒng)管理員實現(xiàn)很多需求,如設(shè)置環(huán)境變量等等。在這里,其主要是用來實現(xiàn)這支位置參數(shù)。其實在Unix系統(tǒng)中,有很多種方法可以用來實現(xiàn)在命令結(jié)果中抽取特定的參數(shù)。如可以利用外部命令cut實現(xiàn)從一個輸出結(jié)果中截取一個字段的內(nèi)容。但是,利用cut命令來實現(xiàn)這個功能的話,就顯得有點業(yè)余了。既然Unix操作系統(tǒng)提供了其他一些更加專業(yè)的命令來實現(xiàn)這些功能,系統(tǒng)工程師為什么要舍近求遠呢?
其實在Unix系統(tǒng)中的標(biāo)準(zhǔn)shell中就提供了一些內(nèi)部命令,來實現(xiàn)功能。其中set命令就是比較有代表性的一個命令。Set命令可以把參數(shù)賦值給$1、$2等位置參數(shù)。通過情況下,如果系統(tǒng)工程師要從程序的輸出結(jié)果中提取某些內(nèi)容則往往是利用這個命令來實現(xiàn)。;
set命令的具體實現(xiàn)過程以及需要注意的內(nèi)容。
在談set命令的具體實現(xiàn)過程之前,筆者先跟大家介紹一些位置參數(shù)與命令顯示結(jié)果之間的關(guān)系。了解他們的內(nèi)在關(guān)系是系統(tǒng)工程師使用操作位置參數(shù)命令的前提。
利用date命令顯示出“Mon Apr 20 08:29:40 CST 2009”系統(tǒng)的當(dāng)前時間的結(jié)果。這個結(jié)果從左到右其對應(yīng)的存儲位置分別為$1、$2等等,以此類推。也就是說,這個顯示結(jié)果就好像其他開發(fā)程序中的數(shù)組,Unix操作系統(tǒng)利用空格來區(qū)分字段,并把每個字段的內(nèi)容依次存入到數(shù)組中。
不過這里需要注意的是,其他開發(fā)程序的數(shù)組往往是從0開始。而在Unix系統(tǒng)中,這個位置參數(shù)則是從$1開始。為此系統(tǒng)工程師如果要截取第一個字段內(nèi)容的話,則應(yīng)該是$1而不是$0。筆者是先學(xué)C等開發(fā)語言平臺,然后再學(xué)Unix操作系統(tǒng)。
由于有了一個先入為主的觀念,為此后來在使用set命令的時候,經(jīng)常犯迷糊。故筆者提醒各位系統(tǒng)工程師,在這方面要特別注意顯示結(jié)果內(nèi)容與位置參數(shù)的對應(yīng)關(guān)系,第一個字段對應(yīng)的位置參數(shù)位$1。了解了這個內(nèi)容之后,則利用set命令來操縱顯示結(jié)果則就比較容易了。如上圖所示,通常情況下只需要通過簡單的兩不就可以完成這個功能了。
第一步:利用set命令把它的參數(shù)轉(zhuǎn)換為位置參數(shù)。
第二步:利用echo命令來顯示位置參數(shù)所代表的內(nèi)容。
通過這2步,我們就完成了這次要講解Unix操作系統(tǒng)的知識。
【編輯推薦】