我們有幾個ruby腳本需要翻譯成bash腳本。有沒有人在過去做過這樣或類似的事情(比如說從Python到bash)。你對我有沒有任何指導方針/啓發式?Ruby to bash腳本翻譯
回答
我不想判斷你的想法,因爲不可能告訴給定的工作更好。也許bash,也許紅寶石。所以這裏是我的$ 0,02:
將任務分解爲更小的任務。嘗試找到一些shell命令(或unix可執行文件)給定較小的任務。例如:
files = Dir.glob("*.jpg")
=>ls *.jpg
對於此任務,您應該儘可能多地知道盡可能多的unix命令,您應該知道應該是。嘗試ls /bin /usr/bin
並檢查您的命令。你認識他們嗎?如果沒有 - 轉換將是一個艱鉅的任務...;)調試每個單獨的小任務(如果可能的話)
使用盡可能多的shell內置越好。 (它們通常比運行外部命令快一點)你知道什麼內置插件有你的外殼嗎?
儘可能多地使用管道將較小的任務連接成大的任務。這是困難的部分。將代碼分解爲更小的任務是最好的,當他們可以單獨運行時,使用stdin/out(管道準備就緒)。通常需要(稍微)改變應用程序的邏輯。
,如果你有慶典的合理的新版本 - 你可以使用它的一些網絡編程過,例如:爲/ dev/
慶典聯網{TCP | UDP} - 有沒有與你的/ dev /目錄 - 它們是bash的內部。
exec 3<>/dev/tcp/www.google.com/80
echo -e "GET/HTTP/1.1\n\n" >&3
cat <&3
第一條準則是:不要這樣做。如果你的腳本已經工作,那麼通過翻譯它們可能無法工作是毫無意義的。
第二條準則是:翻譯任務,而不是代碼。這是,尤其是重要,因爲您正在從功能更強大的語言轉移到功能更差的語言。
我認爲bash在某些任務中擊敗了Ruby(特別是如果你所做的只是調用一堆系統命令),那麼它的能力就差一些。如果最初的Ruby腳本會更好地寫成bash腳本,那麼......但是您的建議並不直接將Ruby轉移到bash上。 – 2011-05-23 03:33:39
- 1. bash腳本翻譯XML
- 2. Bash:不是絕對腳本#!翻譯嗎?
- 3. Tkinter to android翻譯
- 4. Postgres to Oracle翻譯
- 5. Json to Sql翻譯
- 6. perl to php翻譯
- 7. IIF to Case翻譯
- 8. 翻譯MATLAB腳本至R
- 9. 翻譯If/Else && RegEx - Ruby翻譯爲Python
- 10. 翻譯Bash到Perl
- 11. 用php腳本和translate.google.com翻譯文本
- 12. Mongoid to Mongo查詢翻譯
- 13. Apache Spark Python to Scala翻譯
- 14. Bash Script to Count腳本運行次數
- 15. HOW TO:從shell腳本中檢測bash
- 16. Magento在jquery腳本中翻譯文本
- 17. 外部腳本中的Magento翻譯
- 18. 使用python腳本的dna翻譯
- 19. 將Ruby腳本結果回傳到Bash腳本變量中
- 20. 將此jquery翻譯成咖啡腳本?
- 21. Biopython翻譯腳本不工作?
- 22. 使用gettext翻譯R腳本
- 23. 翻譯字符串python腳本
- 24. 用於協作翻譯的php腳本?
- 25. PHP 2 ASP跨域腳本翻譯
- 26. 翻譯JavaScript功能咖啡腳本
- 27. 翻譯在qlik腳本SQL子選擇
- 28. 將Perl腳本翻譯成T-SQL
- 29. JavaScript到Ruby翻譯框架
- 30. Ruby字符串翻譯
你可以告訴我們腳本的功能嗎? – 2011-05-23 03:34:12
腳本執行一些實用計算,例如執行數據庫調用,使用memcached緩存連接以及一些算術運算,只要我能夠理解。需要簡化,以便更廣泛的受衆能夠理解它們。 – Ketan 2011-05-23 03:38:26
這東西不是真正的bash的甜蜜點(特別是算術)。我建議你採用Ignacio的建議並保留現有的Ruby腳本。也許重構他們一點? – 2011-05-23 03:39:34