900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > shell指令可以直接在终端输入吗_shell不是LInux系统的壳吗?咋还能脚本编程了?...

shell指令可以直接在终端输入吗_shell不是LInux系统的壳吗?咋还能脚本编程了?...

时间:2019-07-15 19:38:32

相关推荐

shell指令可以直接在终端输入吗_shell不是LInux系统的壳吗?咋还能脚本编程了?...

小豆丁:老张!老张!你快来!

老张:咋啦?火烧屁股啦?急急忙忙的!

小豆丁:啥火烧屁股啊,我是遇到问题了!

老张:也对,你只有遇到问题的时候才会找我!说吧,啥事?

小豆丁:老张啊,你不是刚给我讲完Linux系统的shell是什么意思嘛(详见《贝壳?龟壳?手机壳?究竟啥是Linux系统的壳?》),今天我有看到个词,叫做“shell脚本编程”,这又是啥意思啊?shell不是Linux系统的壳吗,怎么还能编程了?

老张:哦,这个问题啊,也好理解。

老张:在解释这个问题之前,我先问问你,shell大致的工作过程还记得吗?

小豆丁:记得啊,用户输入相关的指令给shell,shell经过处理后再给系统内核,起到过滤和保护的作用。

老张:能理解这个问题就好说了,其实shell脚本编程并不难理解。shell的本质是什么?之前跟你说过是用户和内核交互的一种媒介,实际上更确切的说应该是一种解释器。

小豆丁:解释器?什么意思啊?

老张:就是把用户输入的命令进行解释,然后在送入系统内核。当然,shell的功能不仅仅局限于对用户命令的解释,它还能做一些更复杂的事情。比如说我们可以把很多我们希望执行的操作用shell的相关语法规则写成一个文件,然后shell解释器对文件中的内容一边解释一遍向系统内核传入,系统内核收到后进行执行,直到文件中所有的内容解释执行完毕。

小豆丁:哇哦,shell还有这个功能啊。那么所谓的“shell脚本编程”,是不是就是我们用shell的相关语法要求写成文件的过程啊?

老张:小豆丁越来越聪明了啊!

小豆丁:原来程序还能这么写啊!好神奇!

小豆丁:老张啊,那shell脚本编程和我现在学的C语言程序编程有什么区别啊?

老张:写完的shell脚本文件,是不要编译器编译的,它直接由解释器进行解释然后传递给系统内核执行,你写好的脚本文件,只要给它个可执行权限就能运行了。而C语言程序是要经过编译器编译的,最终生成二进制的可执行程序,然后才能执行。

老张:另外一个区别就是执行速度上的区别了,脚本文件需要一边解释翻译一边执行,所以它的执行速度是远远没有C语言程序快的!

小豆丁:哦,我懂了,原来shell这么强大啊!又学到了新知识!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。