IC数字前端设计开发14 (各种脚本语言,比如shell和tcl、perl有啥区别呢?)

来自:https://zhidao.baidu.com/question/455244628.html

回复一:
1、shell可以说是unix\linux原生的,用户通过它与系统内核进行交换。特点就是直接,主要用来管理和使用系统。
2、perl可以说是对shell的扩展,在编写的灵活性、跨平台性都有提高,特别是在文本处理上有独到的地方。另外,perl的用途广泛如:开发CGI,功能上远远不止维护系统这么简单。
3、tcl可以看做C库,十分方便被C\C++调用,另外,tcl容易被扩展或者缩减,十分方便被移植到特定的软件平台中,作为专业的脚本。我知道很多EDA工具内嵌tcl语言。


回复二:
【IC数字前端设计开发14 (各种脚本语言,比如shell和tcl、perl有啥区别呢?)】
tcl没用过,就说说shell和perl吧。
shell类似于dos中的批处理,但很多shell也具备明显的编程语言特征,变量、循环之类的都很完善。perl也是解释性的脚本,相比shell已经是一个成熟而完整的语言,具备丰富的代码库。由于绝大多数Unix/Linux实现都内置了perl,因此不需要考虑解释执行环境的问题,如楼上所说,文本处理是perl的强项,其实perl可以做绝大多数应用,我用perl写过聊天室、socket接口程序,简单的http服务器,感觉确实非常方便,更重要的是perl执行效率远远高于shell,有的文本处理用shell脚本处理太慢的时候,用perl提升很大。
一般情况下,可以把shell和perl结合起来用,比如对目录下文件遍历处理,perl可以做,但是不如shell简单明了,文件本身处理则用perl来做,这样往往可以取得性能和效率的平衡。

回复三:

三个脚本语言的区别及介绍网上可以查到,我见过的这三个脚本语言使用的地方。

1、shell 主要用来管理和使用系统。一些程序启动停止脚本、安装、打包等
2、perl 开发CGI,做数据迁移,处理文件。
3、tcl + expect 可以做自动应答,经常用来做自动化测试。

    推荐阅读