zoukankan      html  css  js  c++  java
  • 【转】shell 教程——04 什么时候使用Shell

    因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化。因此,Shell脚本只要“用心写”一次,即可应用到很多系统上。因此,之所以要使用Shell脚本是基于:

    • 简单性:Shell是一个高级语言;通过它,你可以简洁地表达复杂的操作。
    • 可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行。
    • 开发容易:可以在短时间内完成一个功能强大又妤用的脚本。


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

    1. 资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等)。
    2. 需要处理大任务的数学操作,尤其是浮点运算,精确运算,或者复杂的算术运算(这种情况一般使用C++或FORTRAN 来处理)。
    3. 有跨平台(操作系统)移植需求(一般使用C 或Java)。
    4. 复杂的应用,在必须使用结构化编程的时候(需要变量的类型检查,函数原型,等等)。
    5. 对于影响系统全局性的关键任务应用。
    6. 对于安全有很高要求的任务,比如你需要一个健壮的系统来防止入侵、破解、恶意破坏等等。
    7. 项目由连串的依赖的各个部分组成。
    8. 需要大规模的文件操作。
    9. 需要多维数组的支持。
    10. 需要数据结构的支持,比如链表或数等数据结构。
    11. 需要产生或操作图形化界面 GUI。
    12. 需要直接操作系统硬件。
    13. 需要 I/O 或socket 接口。
    14. 需要使用库或者遗留下来的老代码的接口。
    15. 私人的、闭源的应用(shell 脚本把代码就放在文本文件中,全世界都能看到)。


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

  • 相关阅读:
    java学习笔记-设计模式12(组合模式)
    Java神奇的装箱与拆箱
    博客得不到搜索引擎的收录!
    Java中E、T、K、V、N的含义
    【转】解决Ubuntu下Sublime Text 3无法输入中文
    【转】Windows和Ubuntu双系统,修复UEFI引导的两种办法
    30分钟学会正则表达式
    推荐一个android各种工具的墙内下载网站
    如何为Android Studio 添加快速启动方式【Linux】
    Linux 更改用户环境变量和所有用户环境变量
  • 原文地址:https://www.cnblogs.com/sdlypyzq/p/4818512.html
Copyright © 2011-2022 走看看