什么时候用shell脚本以及什么时候不用脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么时候用shell脚本以及什么时候不用脚本相关的知识,希望对你有一定的参考价值。

因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化。 

因此,Shell脚本只要“用心写”一次,即可应用到很多系统上。 
因此,之所以要使用Shell脚本,是因为shell脚本的以下特性:

  • 简单性: 
    Shell是一个高级语言;通过它,你可以简洁地表达复杂的操作。

  • 可移植性: 
    使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行。

  • 开发容易: 
    可以在短时间内完成一个功能强大又妤用的脚本。

但是,考虑到Shell脚本的命令限制和效率问题,下列情况一般不使用Shell:

  • 资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等)。

  • 需要处理大任务的数学操作,尤其是浮点运算,精确运算,或者复杂的算术运算(这种情况一般使用C++或FORTRAN 来处理)。

  • 有跨平台(操作系统)移植需求(一般使用C 或Java)。

  • 复杂的应用,在必须使用结构化编程的时候(需要变量的类型检查,函数原型,等等)。

  • 对于影响系统全局性的关键任务应用。

  • 对于安全有很高要求的任务,比如你需要一个健壮的系统来防止入侵、破解、恶意破坏等等。

  • 项目由连串的依赖的各个部分组成。

  • 需要大规模的文件操作。

  • 需要多维数组的支持。

  • 需要数据结构的支持,比如链表或数等数据结构。

  • 需要产生或操作图形化界面 GUI。

  • 需要直接操作系统硬件。

  • 需要 I/O 或socket 接口。

  • 需要使用库或者遗留下来的老代码的接口。

  • 私人的、闭源的应用(shell 脚本把代码就放在文本文件中,全世界都能看到)。

如果你的应用符合上边的任意一条,那么就考虑一下更强大的语言吧 
——或许是Perl、Tcl、python、Ruby 
——或者是更高层次的编译语言比如C/C++,或者是java。 
即使如此,你会发现,使用shell来原型开发你的应用,在开发步骤中也是非常有用的。


本文出自 “大李子” 博客,谢绝转载!

以上是关于什么时候用shell脚本以及什么时候不用脚本的主要内容,如果未能解决你的问题,请参考以下文章

linux_shell 编程学习-初识she'll

Shell脚本编程小技巧-如何解决脚本中多行重定向结束符不用对齐到行首

shell学习1

linux下定时任务以及简单shell脚本的编写

详解shell脚本括号区别--$()$「 」$「 」 $(()) 「 」 「[ 」]

linux shell脚本有编译器吗?每次都是运行后提示很多错误啊,能在编写的时候提示错误吗?