首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shell脚本和其他语言

Shell脚本和其他语言
EN

Stack Overflow用户
提问于 2011-05-06 16:55:40
回答 4查看 486关注 0票数 2

我感兴趣的是,与其他脚本语言相比,Shell脚本语言的竞争力有多强?

例如,与python、perl、ruby或R等相比,Shell脚本为您提供了哪些好处……

如果能从Shell脚本极客那里了解Shell脚本的优点,那将是非常有趣的事情... :)

无意冒犯,我是shell脚本的新手,我想知道shell相对于其他脚本语言的实际优势。

提前谢谢你

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-06 17:21:53

壳的强度:

  • 流水线,过滤器和重定向,以方便地利用其他invoke
  • powerful和可编程命令完成的其他
    • 和环境变量更改的组合功能以及影响程序的操作系统限制,这些程序不仅可以识别内置命令,还可以识别目录、文件和其他程序及其命令行选项(至少在良好的shell中- zsh,bash...)
    • 作业控制功能可以在后台运行多个作业。wait on the completion
    • filename globbing允许对匹配的文件集进行简单的操作,对环境变量进行非常简洁、功能相当强大的即席调整(将它们拆分成单词、删除/替换子字符串、获取目录路径的头部或尾部...)不幸的是,如果您将大部分时间花在scripting...

    以外的事情上,通常很难记住

shells不太擅长的是:

用其他语言编写的实用程序类型调用库例程(尽管许多可以编译成实用程序programs)

  • user-defined结构化数据类型和容器(哈希表、链表、树)

  • 类型safety

  • performance
票数 2
EN

Stack Overflow用户

发布于 2011-05-06 17:12:01

Shell脚本非常擅长调用程序。它们还能以多种方式重定向stdin、stdout和stderr,并能很好地响应由调用的程序返回的错误代码。如果您对使用$1等作为参数感到满意,那么函数定义通常非常有用。

没有其他语言做不到的事情,但是语法经过了简单的优化,使这些事情变得超级简单。

虽然shell脚本(特别是对于可正确编写脚本的shell,如bash或zsh,当然不是csh或tcsh)确实提供了许多其他有用的东西,并允许编写几乎任何内容(我认识的一个学生认为数字赋值对他来说太简单了,所以他将代码写成bash脚本…当然,工作得很好),语法根本没有针对此进行优化,您通常必须编写奇怪的行噪声,甚至将n增加1。

总而言之,对于超过80%的外部程序调用,我都会使用shell脚本,对于任何涉及更多逻辑和“经典编程”的脚本任务,我都会使用其他脚本(通常是ruby)。

票数 2
EN

Stack Overflow用户

发布于 2011-05-06 17:12:25

在我看来,shell脚本中的管道和过滤器系统让您可以非常轻松地为shell编写有用的一行程序。通常你还会有很多与典型shell任务交互的简短方法,例如检查文件是否存在,迭代文件等。在更多功能的脚本语言中,你可能需要更多的代码来完成这些任务。然而,你可以在其他语言中做更多的事情,例如GUI编程,你可以获得适当的面向对象,继承等。Shell脚本语言将允许shell任务或小脚本的自动化,以便与文件、套接字、进程等直接交互。脚本语言更加通用或专门用于不同的事情(如R专门用于统计问题的计算和表示)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5909049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档