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

Unix Shell注意問題備忘

系統(tǒng) 其他OS
我們對(duì)Unix Shell的基礎(chǔ)資料這里也不多介紹,其實(shí)網(wǎng)上的相關(guān)資料是比較散,加之Shell本身牽扯的東西也比較多,講解下Unix Shell環(huán)境變量。

最近在接觸一些Unix Shell的東西,在這個(gè)過程中看了不少書籍資料,也受了不少折騰,因此這里把一些需要注意的細(xì)節(jié)記錄下來以作備忘和提醒。這里的Shell是指Bourne Shell,其它類型的Shell我沒有用過因此不知道是否存在相同問題。

另外Unix Shell的基礎(chǔ)資料這里也不多介紹,其實(shí)網(wǎng)上的相關(guān)資料是比較散,加之Shell本身牽扯的東西也比較多,其中包括Unix的系統(tǒng)知識(shí),不同版本Shell的語法和功能,正則表達(dá)式,管道什么,要一次說清楚也不容易。這里推薦一本書《UNIX shell范例精解》,在學(xué)習(xí)Shell的過程中它確實(shí)幫了不少忙。好,開始備忘。

1、關(guān)于Unix Shell環(huán)境變量

環(huán)境變量的作用域是由上到下的,并且在子進(jìn)程里改變了環(huán)境變量是不會(huì)傳遞回父進(jìn)程。因此在全局使用的環(huán)境變量應(yīng)該在父進(jìn)程里定義,子進(jìn)程或者其它進(jìn)程定義的環(huán)境變量不會(huì)能共享訪問。環(huán)境變量的這個(gè)特性對(duì)Shell程序的結(jié)構(gòu)有很大的影響。因?yàn)槿绻褂铆h(huán)境變量作為全局變量使用,那么Shell腳本程序之間就必須保持一種至上向下的調(diào)用關(guān)系。

Unix Shelll里面沒有全局變量的概念,只有環(huán)境變量和局部變量。全局變量的解決方案有這么幾種:

a.使Shell腳本之間保持一個(gè)至上向下的調(diào)用關(guān)系,然后在父進(jìn)程中定義環(huán)境變量;

b.使用只讀局部變量,然后保證所有腳本在同一進(jìn)程下執(zhí)行;

c.保存變量在一個(gè)config文件內(nèi),腳本執(zhí)行加載;

或者這里說到的全局變量有點(diǎn)常量的味道,畢竟全局變量是可以在過程之間共享信息的,但是上面提及的方法都不可以。如果要過程之間通信估計(jì)只有通過參數(shù)和返回值了。真正意義上的全局變量怎么實(shí)現(xiàn)暫不做探討。

其實(shí)把環(huán)境變量加載到Unix的主進(jìn)程中也可以把它直接當(dāng)全局變量使用,這個(gè)方法是***個(gè)方案的特殊使用。

2、使用“.”調(diào)用腳本***放在接收參數(shù)之后,不然可能會(huì)引起“$#”這些特殊變量的值的改變

3、if語句中使用“[]”替換test時(shí),要注意“[]”使用是的空格,例如:if [ "$a" != "" ] then #空格不能省略

4、cp -R 時(shí),要注意目標(biāo)路徑中不需要提供復(fù)制后的目錄名,例如:cp -R /a /b/ 這樣將會(huì)把a(bǔ)目錄復(fù)制到b目錄中,復(fù)制后的目錄仍叫a(此處與xcopy有差別)
另外,cp并不會(huì)自動(dòng)建立目標(biāo)目錄。

5、使用while讀取文件時(shí)要注意 當(dāng)使用
 

  1. while read line   
  2. do  
  3. #####  
  4. done < file 

讀取文件時(shí),發(fā)現(xiàn)文件***一行不會(huì)在while內(nèi)讀取。這個(gè)問題不知道是不是上面代碼的寫法問題。這就是這次關(guān)于Unix Shell中的知識(shí)的講解。

【編輯推薦】

  1. 提高Unix系統(tǒng)安全性和穩(wěn)定性
  2. 講述5種Unix關(guān)機(jī)方法
  3. 提高Unix系統(tǒng)安全性和穩(wěn)定性
  4. 使用Unix密鑰啟用自動(dòng)登錄
  5. unixware進(jìn)程相關(guān)的命令

 

責(zé)任編輯:小霞
相關(guān)推薦

2010-04-30 01:00:08

Unix shell

2010-05-05 13:22:29

Unix Shell

2010-04-26 12:30:42

Unix Shell

2010-04-26 14:04:18

Unix Shell

2009-09-29 10:45:17

UnixLinuxshell

2009-10-23 13:44:03

linux Shell

2010-05-04 11:59:39

Unix系統(tǒng)

2010-05-04 14:34:16

Unix系統(tǒng)

2010-04-29 14:56:06

Unix系統(tǒng)

2010-05-07 13:43:27

Unix Shell

2010-04-16 14:46:22

2010-04-07 16:15:04

Unix操作系統(tǒng)

2010-04-26 13:36:33

Unix Shell

2010-04-26 13:53:47

Unix Shell

2010-04-21 10:19:40

Unix Shell

2010-04-26 13:28:05

Unix Shell

2010-05-07 13:04:11

Unix Shell

2010-04-14 15:44:10

Unix操作系統(tǒng)

2010-04-16 16:29:57

Unix操作系統(tǒng)

2010-04-08 17:56:42

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

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