轉(zhuǎn)載自:http://zhidao.baidu.com/question/493376840.html,
http://blog.sina.com.cn/s/blog_71261a2d0100wmbj.html
謝謝!
1.Shell腳本 有那些類型 比如說 .csh . py .sh 這些腳本又有什么區(qū)別
通常寫一個shell腳本都要在第一行注明使用什么解釋器來解釋這個腳本,即寫成:#!/bin/bash
這樣的形式,意思是告訴系統(tǒng)要使用/bin/bash這個解釋器來解釋下面的語句。
shell的腳本一般用.sh作為后綴,就如1樓說的后綴名在Linux下并沒有特別意義,只是便于人類區(qū)分而已,只要你寫的腳本的第一行有#!/bin/bash或者是其他的解釋器,如#!/bin/csh,執(zhí)行該腳本時系統(tǒng)會使用該注明的解釋器來解釋。
.csh大概是用來區(qū)分,這個腳本使用csh這個shell解釋器來解釋。
.sh用來區(qū)分,這個腳本使用bash或sh解釋器來解釋。
.py則是使用python來解釋。
2.sh,bash,csh,tcsh等shell的區(qū)別
Bourne Shell(即sh)是UNIX最初使用的shell,平且在每種UNIX上都可以使用。Bourne Shell在shell編程方便相當(dāng)優(yōu)秀,但在處理與用戶的交互方便作得不如其他幾種shell。
LinuxOS默認的是Bourne Again Shell,它是Bourne Shell的擴展,簡稱bash,與Bourne Shell完全兼容,并且在Bourne Shell的基礎(chǔ)上增加,增強了很多特性。可以提供命令補全,命令編輯和命令歷史等功能。它還包含了很多C Shell和Korn Shell中的優(yōu)點,有靈活和強大的編輯接口,同時又很友好的用戶界面
C Shell是一種比Bourne Shell更適合的變種Shell,它的語法與C語言很相似。Linux為喜歡使用C Shell的人提供了Tcsh。
Tcsh是C Shell的一個擴展版本。Tcsh包括命令行編輯,可編程單詞補全,拼寫校正,歷史命令替換,作業(yè)控制和類似C語言的語法,他不僅和Bash Shell提示符兼容,而且還提供比Bash Shell更多的提示符參數(shù)。
Korn Shell集合了C Shell和Bourne Shell的優(yōu)點并且和Bourne Shell完全兼容。Linux系統(tǒng)提供了pdksh(ksh的擴展),它支持人物控制,可以在命令行上掛起,后臺執(zhí)行,喚醒或終止程序。