Linux shell的优点和缺点

通过对shell脚本的学习,完成实习所安排的第一个脚本任务,我也对Linux shell有了一些基本认识:

一、优点方面:

1.shell的语法和结构比较简单,易于掌握

2.学习和使用也比较方便,上手比较容易

3.常用命令也比较好记,不清楚的情况下,可以通过man命令迅速找到相关的说明

4.shell是解释型语言,运行之前不需要编译

5.文本处理方面,主要依赖于awk、sed这两把尖刀,能够方便快捷地处理相当复杂的问题

6.程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务

二、缺点方面:

1.弱类型语言,对变量定义的查检不是很严格

2.效率上存在的劣势:shell相当于一个接口,大部分的功能全部靠外部程序来完成,如shell在调用awk、sed的进程来处理文件时,需要产生一个新的进程,并且还需要使用管道进行IPC进程通信,那么就会增大相应的开销。在文本处理过程中,原本一个工具一次能完成的任务,在需要经过awk和sed等多次管道后,程序性能的降低是必然的。因此,按照这个观点来看的话,完成同样功能的C代码要比shell快(我会进一步做测试验证这个想法)。结合shell易于开发,但效率不高的特点,可以用一句话来概括:“shell的开发产能优于运行的性能”

3.I/O性能不高:之前看过一篇文章介绍,shell的I/O性能比perl要差,我会进一步做测试来验证这个观点是否正确。

4.一些细节上的不足:向awk传入shell定义的变量时,表达式比较复杂,且对shell的变量是只能读取而不能修改。

通过上周的学习和脚本的编写,我对shell的大概认识如上所述。

这周工作计划:学习Python,并用python完成第二个脚本的任务,在周末做一个有关python学习小结,并把python与shell从运行效率、I/O等性能方面做一下对比。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwszgf.html