shell提供了對UNIX系統的介面。收集輸入,並根據輸入執行程式。當一個程式執行完畢後,它會顯示該程式的輸出。
shell是一個環境,我們可以運行我們的命令,程式和shell指令碼。shell有不同的風格,就像有不同風格的作業系統。每個的shell的風格,有它自己的一套識別的命令和功能。
shell它互動式解釋和執行使用者輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;作為程式設計語言,它定義了各種變數和參數,並提供了許多在進階語言中才具有的控制結構,包括迴圈和分支。
幾個學習Shell編程的網站推薦:
Ubuntu社區:http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80
易百教程 http://www.yiibai.com/shell/
Chinaunix: http://bbs.chinaunix.net/forum-24-1.html
shell為您提供了對UNIX系統的介面。向你收集的輸入,並根據輸入執行程式。當一個程式執行完畢後,它會顯示該程式的輸出。
shell是一個環境,我們可以運行我們的命令,程式和shell指令碼。shell有不同的風格,就像有不同風格的作業系統。每個的shell的風格,有它自己的一套識別的命令和功能。 Shell 提示符:
提示符下這就是所謂的命令提示字元下$,發出shell。雖然會顯示提示,您可以鍵入一個命令。
shell讀取輸入後按Enter鍵。它決定了想要的命令和執行輸入的第一個字元。一個字是一個完整的字元集。空格和定位字元分隔單詞。
以下是一個簡單的例子date命令顯示當前日期和時間:
$date
Thu Jun 25 08:30:19 MST 2009
你可以定製你的命令提示字元下使用環境變數PS1環境教程解釋。 Shell 類型:
在UNIX系統下有兩種主要類型的shell:
1. Bourne shell. 如果您使用的是Bourne類型的shell,預設提示符為$字元。
2. C shell.如果您使用的是C型的shell,預設的提示字元%。
再還有各種Bourne shell的子類別列示如下:
· Bourne shell ( sh)
· Korn shell ( ksh)
· Bourne Again shell ( bash)
· POSIX shell ( sh)
不同的C型shell如下:
· C shell ( csh)
· TENEX/TOPS C shell ( tcsh)
原來的UNIX shell寫於20世紀70年代中期,由斯蒂芬·伯恩,在新澤西AT&T貝爾實驗室。
Bourne shell 是第一個shell 出現在UNIX系統上,因此,它被稱為 "the shell".
Bourne shell的安裝通常為 /bin/sh 在大多數UNIX版本。出於這個原因,它是編寫指令碼使用在幾個不同的版本的UNIX shell。
在本教程中,我們將要覆蓋大多數基於傳播Borne Shell概念。 Shell 指令碼:
shell指令碼的基本概念是一個命令列表中列出的順序執行。 #是shell指令碼注釋前面一英鎊符號。
條件測試,如值A大於B值,迴圈我們去通過大量的資料,讀取和儲存資料的檔案和變數的讀取和儲存資料,該指令碼可能包含的功能。
shell指令碼和函數都解釋。這意味著他們不會被編譯。
我們將在接下來的幾個教程寫了許多指令碼。這將是一個簡單的文字檔,在其中,我們會把我們所有的命令和其他一些必要的結構,告訴shell環境做什麼,什麼時候做。 樣本指令碼:
假設我們建立了一個test.sh指令碼。注意:所有的指令碼 .sh擴充。添加任何東西到指令碼,需要提醒系統正在啟動一個shell指令碼。例如:
#!/bin/sh
這是告訴系統Bourne shell的執行下面的命令。這就是所謂的家shebang ,因為“#”符號被稱為雜湊,和。符號被稱為bang。
要建立一個包含這些命令的指令碼,把shebang行第一,然後添加命令:
#!/bin/bash
pwd
ls
Shell 注釋:
你可以把注釋,在你的指令碼如下:
#!/bin/bash
# Author : Zara Ali
# Copyright (c) Tutorialsyiibai.com
# Script follows here:
pwd
ls
現在儲存上面的內容,使此指令碼可執行如下:
$chmod +x test.sh
現在,你的shell指令碼,可隨時執行如下:
$./test.sh
This would producefollowing result:
/home/amrood
index.htm unix-basic_utilities.htm unix-directories.htm
test.sh unix-communication.htm unix-environment.htm
註:要執行任何程式在目前的目錄中,執行可使用 ./program_name 擴充Shell指令碼:
Shell指令碼有幾個必要的結構告訴shell環境做什麼,什麼時候做。當然,大多數指令碼是比上述更加複雜。
shell畢竟,真正的程式設計語言,完成變數,控制結構,等等。無論指令碼變得多麼複雜,但是,它仍然是順序執行的命令的列表。
下面的指令碼使用讀命令從鍵盤輸入,並將其分配給變數PERSON的值,並最終列印在stdout。
#!/bin/sh
# Author : Zara Ali
# Copyright (c) Tutorialsyiibai.com
# Script follows here:
echo "What is your name?"
read PERSON
echo "Hello, $PERSON"
下面是啟動並執行指令碼樣本:
$./test.sh
What is your name?
Zara Ali
Hello, Zara Ali
$from: http://www.yiibai.com/shell/what_is_shell.html#