我對linux非常陌生,我想學習腳本。好像有很多選項可以從bash shell腳本,python,perl lisp學習腳本,也可能更多的我不知道。我只是想知道它們的優點和劣勢是什麼,以及什麼是開始的好地方?linux中不同類型的腳本
回答
最基本的腳本形式是Bourne shell腳本。這可以像將多個命令放入文件一樣簡單,每行一個命令。
# simple shell script example
clear
ls
這是一個清除終端屏幕,然後列出當前目錄中的文件的示例程序。對於這個例子,shell腳本是迄今爲止最簡單的方法。
根據我的經驗,一旦Bourne shell腳本獲得了一堆功能,它們就變得非常難以維護。另外,如果您需要處理可能包含空格的文件名或目錄名稱,則正確引用您的變量以使該腳本正常工作是非常痛苦的。一個更現代的腳本語言,然後成爲一個福音。
我個人的選擇是Python。這很容易學習,你永遠不會發現它不足以解決任何問題。你還會發現,在編寫Python腳本六個月後,你仍然能夠看到它的功能,而不需要瘋狂地集中精力,並在頭腦中對代碼進行反向工程。
我建議你找一本好書,閱讀並做練習。如果你使用Python書,你將從Python開始;如果你得到一本高級的UNIX書籍,它會教你shell腳本。
每個程序員都會對此有一個有偏見的答案,但要牢記的一點是你的目標是什麼。例如,如果你只想成爲一個成功的系統管理員,那麼你的目標可能最好是學習更有助於系統管理員任務的語言(例如bash)。但是,如果您希望進行更多的通用編程(包括數據分析),則可以更好地將您的學習重點放在更通用的語言(如Python或Perl)上。對於Web開發,Ruby可能值得研究,等等。這實際上取決於你對學習腳本感興趣的原因。
如果您確實沒有特定的理由並且正在尋找一般性建議,那麼從一種語言開始並熟練掌握它然後擴展到其他語言可能是明智的。規範路徑可能是bash - > Python,這些天。當然,這只是一個人的意見。 :-)
我覺得很多次,編程新手看到所有的選項,不知道從哪裏開始。你在帖子中列出了一堆不同的語言。我的建議是選擇其中的一種語言,並找到一本書或教程,並通過它進行工作。
我只是試圖想出一個符合我需求的mIRC腳本而對「腳本」感興趣;然而,完成後,我將操作系統從Windows更改爲Linux,並且mIRC腳本不再適用於我。所以我開始使用Perl和Python來查看哪些對xChat最有效。
最終,這一切都歸結爲你需要嘗試一種語言,並做一些學習的手。我最終完成了項目,並使用了PHP。在完成之後,我也在通過Michael Hartl的教程開展工作,並與Ruby on Rails一起工作。現在我正在使用Node.js(javascript)重寫它。
最好的選擇,只需選擇一種語言,並開始玩它。
- 1. linux中不同類型的synhronization方法?
- 2. 訪問打印腳本聯合類型中的不同屬性
- 3. 在Linux bash腳本中的Perl腳本
- 4. 用不同的子類型替換Unity對象上的腳本?
- 5. 將不同類型的腳本標籤解釋爲JS?
- 6. 爲管道gnuplot腳本使用不同類型的變量
- 7. 布爾值的類型不腳本角
- 8. Linux bash腳本告訴我一個文件的類型
- 9. 在Linux中的Python腳本
- 10. angular2與類型的腳本
- 11. 腳本不能在Linux中同時執行
- 12. vim中相同文件類型中的不同文本寬度
- 13. 不同類型中的R
- 14. 的Linux Shell腳本
- 15. Linux的TCshell腳本
- 16. 的linux - shell腳本 - 「$#」
- 17. 類型腳本中的反應模態
- 18. 類型腳本中的空集
- 19. 檢查腳本中對象的類型?
- 20. jquery中的腳本數據類型
- 21. Linux C/C++或bash腳本:確定驅動器/設備類型
- 22. ajax'腳本'數據類型不工作?
- 23. Linux腳本
- 24. Linux Shell腳本
- 25. Linux Bash腳本
- 26. Shell腳本 - Linux
- 27. Linux Shell腳本
- 28. linux/shell腳本
- 29. 輸入類型文件大小在Linux/Windows中有所不同
- 30. 爲不同的linux發行版管理bash腳本
儘管我喜歡腳本,但這是一個太寬泛的問題。 – squiguy 2013-02-12 03:23:23
抱歉。只是尋找一個開始學習腳本的好地方。 – user1817081 2013-02-12 03:24:26
我同意,這是一個太寬泛的問題。這就像詢問某人螺絲刀與機動鑽機相比,扳手的優點和缺點。 – question 2013-02-12 03:24:50