我們有幾個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. bash的Ruby腳本
- 4. perl to php翻譯
- 5. 翻譯MATLAB腳本至R
- 6. 翻譯Bash到Perl
- 7. HOW TO:從shell腳本中檢測bash
- 8. Bash Script to Count腳本運行次數
- 9. 外部腳本中的Magento翻譯
- 10. 將Ruby腳本結果回傳到Bash腳本變量中
- 11. PHP 2 ASP跨域腳本翻譯
- 12. 用於協作翻譯的php腳本?
- 13. 將Perl腳本翻譯成T-SQL
- 14. 翻譯在qlik腳本SQL子選擇
- 15. 翻譯字符串python腳本
- 16. Google使用Java腳本在富文本頁面中翻譯翻譯
- 17. JavaScript到Ruby翻譯框架
- 18. Google翻譯爲Ruby on Rails
- 19. Ruby字符串翻譯
- 20. Foreach to ruby
- 21. Bash Zip腳本
- 22. Mips to C翻譯,兩個for-cycles
- 23. 通用Objective-to-C++翻譯策略
- 24. 高級SQL查詢幫助。需要將ruby腳本翻譯爲SQL查詢
- 25. bash腳本爲
- 26. 在bash腳本
- 27. 文本翻譯笨
- 28. PHP OOP一個基本翻譯腳本的結構
- 29. 從tcsh翻譯成bash問題
- 30. sed語言翻譯腳本 - 提高長文本效率
你可以告訴我們腳本的功能嗎? – 2011-05-23 03:34:12
腳本執行一些實用計算,例如執行數據庫調用,使用memcached緩存連接以及一些算術運算,只要我能夠理解。需要簡化,以便更廣泛的受衆能夠理解它們。 – Ketan 2011-05-23 03:38:26
這東西不是真正的bash的甜蜜點(特別是算術)。我建議你採用Ignacio的建議並保留現有的Ruby腳本。也許重構他們一點? – 2011-05-23 03:39:34