Linux學習筆記(5)----shell默認的版本bash及變量的設置

shell

用鳥哥的話來說,只要有操作系統就有shell.
首先,認識從應用程序到硬件是如何過度的:
應用程序 -> {系統調用,內核(Kernel)}(操作系統) -> 硬件
應用程序處於最外層,這一層就是shell

shell 的功能是提供用戶操作系統的一個接口,用來調用其他軟件.許多命令如:man , chmod , chown , vi , fdisk , mkfs都是獨立的應用程序,shell執行這些命令來調用內核運行所需要的工作.


shell有多種版本,在linux下主要是使用”Bourne Again Shell(簡稱bash)

我們可以在 /etc/shells 這個文件中查看Linux下可以支持的shell版本,鳥哥說當我們登陸的時候系統就會根據/etc/passwd 這個文件獲取默認的shell,接着我們就可以依據上面的命令執行方式操作shell.
注意有些特殊用戶需要的shell並不是bash,比如系統帳號bin

shell的變量

學過編程的孩子肯定知道變量的定義,在shell命令中,我們同樣可以手動設置變量和輸出變量的值.
設置變量的格式是 : 變量=值 (注意等號兩邊不能直接有空格,變量名稱只能英文和數字而且開頭不能爲數字)
輸出變量的格式爲 : echo $變量名
這樣說太過抽象我們看個例子:
這裏寫圖片描述
我們定義了一個變量name,值dddh,並且輸出它.

  • 這裏我們要特別注意下雙引號單引號的區別:
    雙引號會保留特殊字符原本特性,單引號裏面表示純文本.
    如圖:
    這裏寫圖片描述
    雙引號裏面 $test 表示 test 的值,單引號裏面表示就是字符串 $test

如果有時候我們有強迫症的….必須以雙引號”來命名的可以用 \ , 作爲轉義字符.
如圖:
這裏寫圖片描述
\”表示把雙引號作爲變量名,所以t3的值是:
‘ab_c”
還有一些特殊字符,空格,單引號也需要轉義字符,如圖:
這裏寫圖片描述

如果空格沒有加轉義,會報命令未找到錯誤.
上面我們分別轉義了 ’ ,空格和 ” ,所以結果t3爲: 單引號ab c”_

  • 變量名字的累加
    比如我們要在原來的某個長命變量加上一些字符,我們如果按前面的設置方式,必須重新打出名字,未必太過麻煩.
    所以我們可以用下面的添加方法.
    這裏寫圖片描述
    有兩種方法 t3=”$t3”+添加的內容
    或者是t3=${t3}+添加的內容

設置常用的變量可以大大提高效率.

比如我們如果經常操作某個文件,我們可以把文件的路徑存在變量address中,下次跳轉直接 cd $address 簡單粗暴,方便快捷.
另外注意在這個shell我們叫做父進程,打開一個新的shell就是子進程,一般情況, 父進程定義的變量無法在子進程使用.這裏最好把address設置爲環境變量,讓你可以在其它子程序中執行,這裏用export+變量,即 export address
如果想取消變量設置只需要 unset address 即可.

參考文獻<鳥哥的Linux私房菜>第11章 P298-303

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章