自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

利用引用管理Unix操作系統(tǒng)

系統(tǒng) 其他OS
Unix操作系統(tǒng)元字符在路經(jīng)、文件名或者命令參數(shù)中會(huì)引起誤解,為此在系統(tǒng)中要采用引用來(lái)解決Unix操作系統(tǒng)元字符的問(wèn)題 。

經(jīng)過(guò)長(zhǎng)時(shí)間的學(xué)習(xí)Unix操作系統(tǒng)后,這次我們就來(lái)學(xué)習(xí)下如何利用引用來(lái)解決Unix操作系統(tǒng)元字符的問(wèn)題。在Unix操作系統(tǒng)中有一類特殊的字符,叫做元字符。他們?cè)谙到y(tǒng)中表示特殊的含義。如*號(hào)與?號(hào),操作系統(tǒng)認(rèn)為這些元字符是通配符。

如果在路經(jīng)、文件名或者命令參數(shù)中有這些元字符的話,就會(huì)引起Unix操作系統(tǒng)的誤解。為此在系統(tǒng)中要采用一些方法,能夠讓操作系統(tǒng)將這些元字符當(dāng)作普通字符來(lái)對(duì)待。

利用引用來(lái)解決Unix操作系統(tǒng)元字符的問(wèn)題

可以采用引用這個(gè)功能來(lái)解決。簡(jiǎn)單的說(shuō),就是將一個(gè)命令參數(shù)放置在一對(duì)引號(hào)之內(nèi),則這個(gè)引號(hào)之內(nèi)內(nèi)容如果有元字符的話,則這些元字符將不起作用。

那么既然轉(zhuǎn)義功能已經(jīng)可以解決元字符的問(wèn)題,Unix操作系統(tǒng)還提出了一個(gè)引用的解決方案,是否多次一舉呢?其實(shí)不然。當(dāng)一個(gè)命令行中含有多個(gè)元字符的時(shí)候,需要在每個(gè)元字符前面加一個(gè)轉(zhuǎn)移字符。

為此此時(shí)如果采用轉(zhuǎn)義字符來(lái)解決這個(gè)元字符的問(wèn)題時(shí),會(huì)非常的繁瑣。此時(shí)如果采用引用機(jī)制來(lái)解決元字符的問(wèn)題時(shí),可能會(huì)更加的理想。如現(xiàn)在Unix操作系統(tǒng)工程師希望能夠在屏幕上打出如下信息(這是一個(gè)共享文件的路徑):192.128.11.3\share\IT\software\pdf。

如果采用轉(zhuǎn)移字符的話,該如何寫呢?由于這個(gè)輸出結(jié)果中有四個(gè)元字符(轉(zhuǎn)義字符\),為此管理員不得不用四個(gè)轉(zhuǎn)移字符來(lái)處理。即要寫成echo 192.128.11.3\\share\\IT\\software\\pdf。這顯然非常的麻煩。

遇到這種情況時(shí),如果采用引用的話,顯然會(huì)更加的合適。如采用引用機(jī)制,只需要將這個(gè)命令寫為即可:
echo ‘192.128.11.3\share\IT\software\pdf’

將一大串命令采用單引號(hào)因起來(lái)。則Unix操作系統(tǒng)會(huì)將命令行中的一些元字符都當(dāng)作普通字符來(lái)對(duì)待。即不需要為每一個(gè)元字符采用轉(zhuǎn)移字符。顯然這個(gè)引用解決方案要比采用轉(zhuǎn)義字符來(lái)解決要方便的多。

在采用引用機(jī)制來(lái)處理元字符時(shí),需要注意跟雙引號(hào)的區(qū)別。
如現(xiàn)在有如下三個(gè)命令echo $JAVA_HOME、echo ‘$JAVA_HOME’、 “echo $JAVA_HOME”。其中$JAVA_HOME表示應(yīng)用程序Java的環(huán)境變量。

此時(shí)如果Unix操作系統(tǒng)工程師依次運(yùn)行上面這三個(gè)命令,會(huì)有什么結(jié)果呢?第一個(gè)命令會(huì)正常顯示Java的環(huán)境變量;第二個(gè)命令直接顯示$JAVA_HOME,即已經(jīng)將元字符$當(dāng)作普通字符來(lái)對(duì)待。第三個(gè)命令的話仍然顯示Java的環(huán)境變量??梢?jiàn)雙引號(hào)與單引號(hào)在引用機(jī)制上,還是有所不同的。

那么他們到底有什么差異呢?總的來(lái)說(shuō),Unix操作系統(tǒng)工程師需要注意如下內(nèi)容。單引號(hào)會(huì)保護(hù)里面所有的元字符,即遇到元字符時(shí)會(huì)告訴系統(tǒng)當(dāng)作普通字符來(lái)對(duì)待。但是如果采用了雙引號(hào),則系統(tǒng)會(huì)將單引號(hào)之間的內(nèi)容解釋為命令行。如會(huì)將$當(dāng)作環(huán)境變量的前綴等等。其實(shí)單引號(hào)與雙引號(hào)還有一種相互保護(hù)的作用。

即雙引號(hào)保護(hù)其中的單引號(hào),而單引號(hào)保護(hù)其中的雙引號(hào)。因?yàn)闊o(wú)論是雙引號(hào)還是單引號(hào)本身就都是元字符,可以通過(guò)引用機(jī)制來(lái)進(jìn)行保護(hù)。不過(guò)在遇到單引號(hào)與雙引號(hào)(都當(dāng)作普通字符)都存在的情況下,筆者建議還是采用轉(zhuǎn)移字符來(lái)保護(hù)單引號(hào)或者雙引號(hào)為好。

這可以避免誤解,也容易提高代碼的可讀性。同理,如果要將轉(zhuǎn)移字符\ 當(dāng)作普通字符來(lái)實(shí)用的話,那么最好也是利用單引號(hào)來(lái)保護(hù)這個(gè)轉(zhuǎn)移字符,而不是利用轉(zhuǎn)移字符來(lái)保護(hù)轉(zhuǎn)移字符。這些雖然不影響實(shí)際的應(yīng)用,但是卻是提高代碼可讀性的有效手段。

在以上內(nèi)容中我們就學(xué)習(xí)了Unix操作系統(tǒng)中利用引用來(lái)解決元字符的問(wèn)題的知識(shí)要點(diǎn),希望大家可以好好的學(xué)習(xí)下。

【編輯推薦】

  1. 3種Unix操作系統(tǒng)服務(wù)作用講解
  2. 安全Unix操作系統(tǒng)升級(jí)
  3. 看守好你的Unix操作系統(tǒng)遠(yuǎn)程網(wǎng)絡(luò)
  4. Unix操作系統(tǒng)基礎(chǔ)介紹講解
  5. 教學(xué)Unix操作系統(tǒng)內(nèi)核級(jí)后門
責(zé)任編輯:小霞
相關(guān)推薦

2010-04-20 15:25:12

Unix操作系統(tǒng)

2010-04-14 18:39:24

Unix操作系統(tǒng)

2010-04-14 13:59:45

Unix操作系統(tǒng)

2010-04-07 15:37:16

Unix操作系統(tǒng)

2010-04-08 17:05:21

Unix操作系統(tǒng)

2010-04-14 14:09:06

Unix操作系統(tǒng)

2010-04-07 15:13:50

Unix操作系統(tǒng)

2010-04-13 12:27:44

Unix操作系統(tǒng)

2010-04-15 14:40:26

Unix操作系統(tǒng)

2010-04-08 16:18:22

Unix操作系統(tǒng)工具

2010-04-19 18:18:30

Unix操作系統(tǒng)

2010-04-09 11:24:38

Unix操作系統(tǒng)

2010-04-19 16:57:09

Unix操作系統(tǒng)

2010-04-19 10:54:33

Unix操作系統(tǒng)

2010-04-08 17:56:42

Unix操作系統(tǒng)

2010-04-16 17:49:28

Unix操作系統(tǒng)

2010-04-08 15:21:39

Unix操作系統(tǒng)

2010-04-16 17:19:58

Unix操作系統(tǒng)

2010-04-08 10:42:28

Unix操作系統(tǒng)

2010-04-19 17:39:50

Unix操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)