对于我必须完成的许多任务,我发现自己必须在使用Linux中的Shell脚本或Java或Groovy等编程语言之间做出选择。有没有人有关于我应该如何选择其中一个的经验以及为什么?
答案 0 :(得分:9)
Shell脚本非常适合简洁的文件系统操作,并通过管道编写过滤器和命令行工具中现有功能的组合。
当您的需求更大时 - 无论是功能性,稳健性,性能,效率等 - 那么您可以转向功能更全面的语言。他们倾向于提供以下组合:
答案 1 :(得分:2)
@Tony提供了优秀的优缺点列表。我会添加一个更通用的点 - shell脚本,因为它们非常方便,冒着显示“没有比临时解决方案更持久”的特性,并且当其他人需要使用它时,会出现所有伴随的维护问题。
答案 2 :(得分:1)
Shell脚本是在系统上使用“粘合剂”的最直观方式。但是,它没有一些有用的概念,比如继承和模块化,像Python这样的语言(它也非常习惯于“粘合”系统)。
没错,语言的使用主要取决于你要做的任务。对于我工作过的大多数情况,shell脚本运行良好,虽然我使用了大量的Python来完成系统相关的任务。在这种情况下,我不认为Java会成为替代品。可能Groovy会是,但不是Java(我的意思是Java作为一种语言,而不是Java作为平台。)
在系统管理员视图中,我认为Python和Ruby是很棒的语言。不仅因为动态类型而且不需要编译,而是因为Fabric,Capistrano,Puppet等工具以及许多使得系统管理员生活更轻松的工具: - )