![d163d04a2a4e4982a01c0a9862c0e16d.png](https://i-blog.csdnimg.cn/blog_migrate/40f29d988cb0a09ee68c6c4a4ab6970a.jpeg)
首先,我们今天所说的Shel,既不是海滩上美丽的贝壳儿,也不是荷兰那家鼎鼎大名的壳牌公司,而是用在 UNIX/Linux操作系统中的一个叫作 Shell的工具。
其次,众所周知, UNIX/Linux操作系统的心脏是“内核”,内核主要负责控制硬件管理内存和调度任务,而Shel则是用户与操作系统之间的一座桥梁,用户可以利用 Shell实现对UNIX/ Linux操作系统及其内核的控制和操作。
最后, Shell已经发展成为一种解释型编程语言,它不仅包含了大量的命令以实现与操作系统的对话,还可以实现变量定义、条件判断、循环控制、函数调用等功能,我们完全可以利用 Shell实现很多复杂的业务逻辑。
如果只用一张示意图来说明什么是 Shell的话,那么下面的这张图再合适不过了。
![b305c1b559647edae7a459777f90aa6d.png](https://i-blog.csdnimg.cn/blog_migrate/a56081ac61d2ffe4a8fa582511ae42dc.jpeg)
当我们打开一台安装有UNIX/Linux操作系统的电脑,输入用户名、密码登录成功后,系统便会启动一个 Shell,它是一个交互式的界面,会等待我们输入指令,就像这样:
![ddea2f4d62bd83cf7d9832f44da264fa.png](https://i-blog.csdnimg.cn/blog_migrate/0f18c912f82840ceef53d3de055a2191.jpeg)
键入命令之后,如图:
![8096719145021930ef73ac6f83882aee.png](https://i-blog.csdnimg.cn/blog_migrate/26a2404fc870bf68e765b7a3958d2792.jpeg)
对于一般运维工程师来说,不能完全满足他们的日常需要,他们更善于把工作和任务通过自动化方式来完成,shell脚本应运而生。当把多个 Shell命令按照一定的逻辑写到一个文件中时,这个文件就可以被叫作“Shell脚本文件”。而执行这样的脚本,就可以实现一部分工作的自动化了,如图:
![66d201933c7a0a80960d3adcb9fa1e1d.png](https://i-blog.csdnimg.cn/blog_migrate/4dac56dfffd3eb1bba28c8fc257ce286.jpeg)
【再续】