shell是一個交互性命令解釋器。shell獨立於操作系統,這種設計讓用戶可以靈活選擇適合自己的shell。shell讓你在命令行鍵入命令,經過shell解釋後傳送給操作系統(內核)執行。shell是一個命令處理器(command processor)——是一個讀入並解釋你輸入的命令的程序。除了是一個命令中斷器以外,shell還是一個程序設計語言。你可以編寫shell可以解釋的程序(被稱為源程序),這些源程序可以包含shell程序設計命令等等。shell除了解釋命令以外,還有其他工作,它也可以配置和編程。shell擁有自己的語言允許用戶編寫程序並以一種復雜方式運行。shell編程語言具有許多常用的編程語言的特征,例如:循環和控制結構等。用戶可以生成像其他應用程序一樣復雜的shell程序。
以下是shell功能的一個匯總:
查找命令的位置並且執行相關聯的程序;
為shell變量賦新值;
執行命令替代;
處理 I/O重定向和管道功能;
提供一個解釋性的編程語言界面,包括tests、branches和loops等語句。
既然Bash是一種命令語言,那麼它也可以像其他語言一樣設置變量,Bash的變量名是全部大寫的,包含字符,數字和下劃線。你可以將任意類型的數據賦給Bash變量,比如:
[code]OS=linux OPERATING_SYSTEM="linux"上面這兩個變量的值一樣,因為在Bash中使用字符串時” “是可選可不選的。Bash對空格很敏感的,如果字符串之間有空格,就需要用引號括起來,否則會報錯。
[code]# 這是錯的 ANIMAL=Shark with a laser beam on its head # 這是對的 ANIMAL="Shark with a laser beam on its head" # 這是錯的,因為=前後不允許有多的空格,謹記 ANIMAL = "Shark with a laser beam on its head"