2013-02-12 18 views
0

我對linux非常陌生,我想學習腳本。好像有很多選項可以從bash shell腳本,python,perl lisp學習腳本,也可能更多的我不知道。我只是想知道它們的優點和劣勢是什麼,以及什麼是開始的好地方?linux中不同類型的腳本

+1

儘管我喜歡腳本,但這是一個太寬泛的問題。 – squiguy 2013-02-12 03:23:23

+0

抱歉。只是尋找一個開始學習腳本的好地方。 – user1817081 2013-02-12 03:24:26

+1

我同意,這是一個太寬泛的問題。這就像詢問某人螺絲刀與機動鑽機相比,扳手的優點和缺點。 – question 2013-02-12 03:24:50

回答

5

最基本的腳本形式是Bourne shell腳本。這可以像將多個命令放入文件一樣簡單,每行一個命令。

# simple shell script example 
clear 
ls 

這是一個清除終端屏幕,然後列出當前目錄中的文件的示例程序。對於這個例子,shell腳本是迄今爲止最簡單的方法。

根據我的經驗,一旦Bourne shell腳本獲得了一堆功能,它們就變得非常難以維護。另外,如果您需要處理可能包含空格的文件名或目錄名稱,則正確引用您的變量以使該腳本正常工作是非常痛苦的。一個更現代的腳本語言,然後成爲一個福音。

我個人的選擇是Python。這很容易學習,你永遠不會發現它不足以解決任何問題。你還會發現,在編寫Python腳本六個月後,你仍然能夠看到它的功能,而不需要瘋狂地集中精力,並在頭腦中對代碼進行反向工程。

我建議你找一本好書,閱讀並做練習。如果你使用Python書,你將從Python開始;如果你得到一本高級的UNIX書籍,它會教你shell腳本。

2

每個程序員都會對此有一個有偏見的答案,但要牢記的一點是你的目標是什麼。例如,如果你只想成爲一個成功的系統管理員,那麼你的目標可能最好是學習更有助於系統管理員任務的語言(例如bash)。但是,如果您希望進行更多的通用編程(包括數據分析),則可以更好地將您的學習重點放在更通用的語言(如Python或Perl)上。對於Web開發,Ruby可能值得研究,等等。這實際上取決於你對學習腳本感興趣的原因。

如果您確實沒有特定的理由並且正在尋找一般性建議,那麼從一種語言開始並熟練掌握它然後擴展到其他語言可能是明智的。規範路徑可能是bash - > Python,這些天。當然,這只是一個人的意見。 :-)

1

我覺得很多次,編程新手看到所有的選項,不知道從哪裏開始。你在帖子中列出了一堆不同的語言。我的建議是選擇其中的一種語言,並找到一本書或教程,並通過它進行工作。

我只是試圖想出一個符合我需求的mIRC腳本而對「腳本」感興趣;然而,完成後,我將操作系統從Windows更改爲Linux,並且mIRC腳本不再適用於我。所以我開始使用Perl和Python來查看哪些對xChat最有效。

最終,這一切都歸結爲你需要嘗試一種語言,並做一些學習的手。我最終完成了項目,並使用了PHP。在完成之後,我也在通過Michael Hartl的教程開展工作,並與Ruby on Rails一起工作。現在我正在使用Node.js(javascript)重寫它。

最好的選擇,只需選擇一種語言,並開始玩它。