我有興趣聽到大家的意見,Shell腳本與其他腳本語言相比競爭力強多少?Shell腳本和其他語言
例如不shell腳本,爲您提供了Python和Perl或紅寶石或R等什麼樣的待遇。
這將是有趣的Shell腳本愛好者知道Shell腳本的優勢...: )
沒有犯罪,我在shell腳本一個新手,想知道外殼比其他腳本語言的實際優勢..
預先感謝您
我有興趣聽到大家的意見,Shell腳本與其他腳本語言相比競爭力強多少?Shell腳本和其他語言
例如不shell腳本,爲您提供了Python和Perl或紅寶石或R等什麼樣的待遇。
這將是有趣的Shell腳本愛好者知道Shell腳本的優勢...: )
沒有犯罪,我在shell腳本一個新手,想知道外殼比其他腳本語言的實際優勢..
預先感謝您
優勢彈:
什麼貝殼不會如此偉大是:
+1。 – tenpn 2011-05-06 09:53:08
shell腳本在invok真的好ing計劃。他們還以各種方式爲stdin,stdout和stderr重定向,並且對由被調用的程序返回的錯誤代碼做出反應非常好。如果您對參數使用$1
等的函數定義通常非常有用。
沒有其他語言無法做到,但語法經過簡單優化,使這些事情變得非常簡單。儘管shell腳本(特別是對於可正確編寫腳本的shell,例如bash或zsh,當然不是csh或tcsh)確實提供了許多其他有用的東西,並且允許編寫幾乎任何東西(我認識的學生認爲數字賦值對他來說簡直太簡單了,所以他把自己的代碼寫成bash腳本......當然是工作的很好),語法根本就沒有進行優化,你通常必須編寫奇怪的線路噪聲,以便將n
的值增加1.
總之,對於涉及更多邏輯和「古典編程」的任何腳本任務,我會使用shell腳本來處理大於80%的調用外部程序的任何內容以及其他內容(通常爲ruby)。
在我看來,shell腳本中的管道和過濾器系統可以讓您非常輕鬆地爲shell編寫有用的單行程程序。通常,你還會有很多與典型shell任務交互的簡短方法,例如檢查文件是否存在,是否遍歷文件等等。在更通用的腳本語言中,您可能需要更多代碼來執行這些任務。 但是,您可以在其他語言中做更多的事情,例如GUI編程,您可以獲得適當的面向對象,繼承等。 IMO它是用於不同方面的兩種工具,它們具有一些共同的用例。 Shell腳本語言將允許自動執行shell任務或允許與文件,套接字,進程等進行直接交互的小腳本。腳本語言更通用或專用於不同的事物(如R專門用於計算和表示統計問題)。
所有shell都是不同的,所以這必須採取一撮鹽,但一些更好的shell腳本環境和你提到的一些語言,如perl和ruby沒有太大的區別。特別是在編寫批處理腳本時。
但是,對於日常的repl用法,shell環境將更緊密地耦合到您的文件系統,包括將您鏈接到文件系統中的某個位置。這將是主要優勢。
傑夫,人們沒有回答我的問題...在所有4個答案:)如果我的問題太含糊或模糊等...我不會收到答案... :)你想要點更多關於類型安全和性能的要點 – Angelo 2011-05-09 12:01:02