Shell 已经很强大了,为什么在 Linux *** 作还需要 Python,Ruby

Shell 已经很强大了,为什么在 Linux  *** 作还需要 Python,Ruby,第1张

作为一名shell(sh/bash)用户和编程语言爱好者,我说说自己的体会吧。

shell作为一门编程语言,和其它编程语言一样,有自己所擅长的问题领域。至少目前来看,还没有哪一门编程语言适合解决所有的问题。正如一个设计原则所说:If it is good for everything, it is good for nothing. 当我们说一门编程语言适合解决某类问题时,我们实际想要表达的是,使用这门语言,可以在最短的时间内获得一个性能,可读性和可维护性等各方面都可接受的程序。而做到这一点的关键是,这门编程语言必须在这类特定问题上,有前期的经验积累。这些经验会以数据结构或库的形式体现出来。一些激进的语言设计,甚至会将这些经验,以词法糖的方式嵌入到语言中。最终的效果是,使用一门语言解决他所擅长的问题时,只需要借鉴一个现成的思路,在他的基础上进行极少的创新,然后编写很少的代码就可以完成。本质是,当你在使用一门语言解决它所擅长的问题时,你实际是站在了这个语言以前的无数个使用者的经验基础之上。

shell这门编程语言,最初设计时就是为了方便系统管理工作。所以,他在语法和数据结构上,针对系统管理工作中遇到的常见问题,进行了特殊的优化。例如,系统管理时要运行很多现有的程序,因而shell通过命令查找规则,将内部命令和外部程序融合在了一起,不做区分;再比如,系统管理时经常要将处理结果临时保存,因而shell在语法上支持重定向功能,可以将一个程序的标准输出直接存储到文件中;再比如,系统管理时,一个程序的运行结果往往会作为另一个程序的输入数据,因而shell在语法上支持管道 *** 作;再比如,系统管理时,数据都是以字符串形式表示的,因而shell在语法上支持大量的字符串 *** 作,包括通配、正则表达式等等。所有的这些,达到的最终效果是,使用shell语言编写系统管理的脚本时,好想,好写,好调试,最终的程序短小精悍。个人认为,shell语言的最大魅力还是体现在命令行上。简单,直接,用一行命令,将现有的程序拼接在一起,就可以完成工作。而同样的工作,如果用其它的编程语言,就可能需要几百行。

而如果用shell语言来完成其他工作呢?它天生就不是干这个的。用shell语言做数值运算?抱歉,性能不够。用shell语言实现复杂算法?抱歉,除了字符串和简单的数组,没有其它的数据结构了。用shell语言编写大规模的程序?可能Java语言更合适一些。

Perl语言,据Perl作者的介绍,是shell语言的加强版,改进了很多shell语言原有的缺点。个人认为,如果学习shell语言的过程可以比作是捡贝壳的话,那么学习Perl语言的过程就是筛沙子,整个海滩的沙子。

历史是很多偶然因素造就的。语言本身的设计只是它兴盛和衰亡背后的一个因素。

Ruby可以安装到你的用户目录。

设定Ruby的path即可。

但这样只能你的用户才可以运行Ruby和rb程序。

你可以下载Ruby,然后安装到Home下,再修改用户de.bashrc,把ruby可执行程序的path加入PATH变量,此后就可以正常使用了。

1.ruby对linux兼容性更好.

2.使用linux与服务器之间交互很好.例如:项目管理.

3.使用ruby的时候用到命令行更多...linux更适合.

4.使用linux更专注.因为他QQ不好使.因为他QVOD不好使,娱乐功能少....

5.使用linux,顺便更好的熟悉服务器环境.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7419346.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存