Linux shell的优点和缺点

 

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

 

一、优点方面:

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

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

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

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

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

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

 

二、缺点方面:

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

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

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

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

 

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

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

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐