你知道吗,这年头好像什么代码都能被叫一声“脚本”。

但较真起来,不是所有代码都有资格叫这个名字的。

它不是什么高贵出身,而是骨子里带着一种“演员”的基因。

脚本执行机制_什么是shell脚本程序_脚本语言分类

这事儿得从剧院说起。

“脚本”这个词,最早真就是舞台后台那几页纸。

演员捧着它,念什么词、走什么位,全写在上面了 。

其后,计算机科学家们犯难了,要使机器开展工作又怎能每次都通过手把手指导的方式呢?

得,给它个剧本,让它自己照着演!

1940年代,这个词就这么溜进了代码的世界 。

脚本语言分类_什么是shell脚本程序_脚本执行机制

所以别搞错了。

称其为脚本,并非缘由于它是借由手去“敲”制而成的(哪一种代码不是依靠手敲出来的呢),恰恰是由于它的使命,乃是要去“执行”的。

像拍电影一样,导演喊Action,全场按剧本来。

计算机亦是如此这般,你将Shell、JS这些“话语内容”撰写妥当,它便开启表演模式,针对该进行备份操作的予以备份,对于该弹出窗口提示的弹出窗口提示,严谨认真,情绪平稳。

哪种代码配叫脚本?

这问题其实是在问:它“演”给谁看?

一类是给操作系统打工的苦力,叫Shell类脚本。

你在Linux里敲一堆命令,把它攒成一个文件,这就是剧本。

一设置crontab,每天凌晨两点,它就准时起身,给日志文件进行打包,还要打扫磁盘,做完这些事情后悄无声息,比田螺姑娘还要像田螺姑娘。

什么是shell脚本程序_脚本语言分类_脚本执行机制

另一类是混在网页里的戏精,比如JavaScript。

它藏于浏览器之中,你点击一下按钮,它便变换一种颜色,弹出一个窗口,亦或是悄悄从服务器获取一些数据返回。

它并非对房子的承重墙予以负责,仅仅是对墙上的那样一幅画能够动起来负责,甚至是对跟你唠嗑这件事负责。

还有一类更隐蔽,是软件里的“内应”。

假设你点击“自动生成报表”,那背后 likely 是一个在 Excel 当中疯狂进行复制粘贴操作的 VBA 脚本。

它哪儿也不去,就在那个软件里折腾,但没它,你眼睛得瞎 。

脚本执行机制_什么是shell脚本程序_脚本语言分类

为什么非得是它?

因为你改剧本快啊!

拍电影最烦什么?

演员背错词重来。

写代码最烦什么?

编译。

改一行C++得等半天编译,改脚本呢?

记事本拉开,改完保存,双击,成了!

这种“无需编译、即时生效”的劲儿,是脚本最原始的野性 。

而且它特别擅长干“重复”的事儿。

人最怕重复,机器最不怕。

写一个脚本检查服务器健康状态,设好每小时跑一次。

它如同一位忠心耿耿的哨兵,每次跑完之后,给你发送一封邮件,告知你“CPU有点烫”,或者“磁盘快满了”。

你该睡觉睡觉,第二天起来看一眼,世界和平。

我依赖脚本就像懒人依赖遥控器

是真的依赖。

我写过很多脚本,有用来抓数据的,有用来整理杂乱日志的。

尤为夸张的是,有一个监控脚本,我安排它在每日凌晨4点悄悄地登录我的那台旧服务器,查看是否有坏人进行入侵,查看网站是否依旧处于存活状态。

早上,我一边喝着咖啡,一边看着它遗留下来的“工作报告”,那样的感觉,恰似有个能懂你的助理,将所有琐事给熨平了。

什么是shell脚本程序_脚本执行机制_脚本语言分类

程序员所走的道路,常常起始于撰写一项规模庞大工程的代码,众多的框架、模式,搞得脑袋都晕乎乎的。

但脚本不一样。

那带你入门的师傅,更像它,它告诉你:别怕,先写几行能跑起来的玩意儿。

它能够马上给予你反馈,就算有误,也是在现场告知你哪一句台词说错了,修改的时候不会心疼。

什么是shell脚本程序_脚本语言分类_脚本执行机制

所以脚本是什么呢?

它身为代码界的演员,是系统当中的可以自动进行操作的螺丝刀,还是我们这些不愿意动手的人,写给机器以供观看的一封饱含温柔之情的命令信。

它并非是什么举足轻重的人物,然而要是没有了它,软件便会陷入僵滞的状态,系统也会陷入瘫痪的境地,而我们这些身为程序员的,恐怕就得每日加班去完成那些原本脚本就能替我们干完的既脏又累的活儿了。

写脚本,其实就是在给机器排一出永不落幕的戏。

导演是你,演员是代码,而观众,是那个终于能准点下班的自己。

你说,这算不算最好的起点?