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这么强大啊!又学到了新知识!
shell指令可以直接在终端输入吗_shell不是LInux系统的壳吗?咋还能脚本编程了?...相关推荐
- shell指令可以直接在终端输入吗_简化shell终端命令输入的脚本式快捷键工具
1.解决的问题 当你需要一次输入很多个命令的时候,例如一次去多个目录删除文件 cd dir1 rm file1.temp cd ../../dir2 rm -rf dir3 当你懒得输入一个好长的命令 ...
- linux终端和执行进程的关系,Linux系统编程第04期:打通进程与终端的任督二脉
本课程是<嵌入式工程师自我修养>自学教程六步走中的第3步:Linux系统编程第04期. 进程,是Linux系统中任务调度运行的基本单元:一个程序的运行,都要被操作系统包装成"进程 ...
- linux终端输入lsblk无命令,使用Linux的lsblk命令列出块设备信息
lsblk(列出块设备)命令用于列出所有可用块设备的信息,但是,它不会列出RAM盘的信息.块设备有硬盘,闪存盘,CD-ROM等等. 如何安装lsblk lsblk命令包含在util-linux-ng包 ...
- linux终端中超级用户用( )符号,Linux系统及应用-中国大学mooc-题库零氪
第一周 系统状态查看工具:文本文件处理 <第一周单元测验>(一) 1.下面哪些部件不是一台物理上的字符终端必须具备的? A.以太网网卡 B.磁盘存储器 C.串行通信口 D.显示器 E.键盘 ...
- UBUNTU 18.04开机自启动脚本实现--打开终端、执行命令及终端输入文字
开机自启动 方法很多,测试了一下,在18.04中最方便的方法如下: 新建sh脚本 touch xxx.sh gedit xxx.h 然后输入: #!/bin/bash## xxx.sh## 你的代码# ...
- shell脚本编程100例
https://blog.csdn.net/yugemengjing/article/details/82469785 https://blog.csdn.net/yugemengjing/artic ...
- shell脚本编程之呈现数据
技术交流QQ群:1027579432,欢迎你的加入! 本教程使用Linux发行版Centos7.0系统,请您注意~ 1.理解输入和输出 目前,已经知道了两种显示脚本输出的方法: 在显示屏幕上显示输出: ...
- linux系统包括虚拟终端图形界面终端有,Linux终端类型
终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等.在早期计算机系统中,由于计算机主机昂贵,因此一个主机(IBM大型计算机)一般会配置 ...
- 【shell脚本编程大全-笔录01】
环境变量 全局.局部环境变量 用户变量(局部变量):修改的设置只对某个用户的路径或执行起作用: 系统变量(全局变量):影响范围是整个系统 : 系统环境变量基本上都是使用全大写字母,以区别于普通 ...
最新文章
- C++添加程序到windows的启动项的代码
- 一次非常有意思的 SQL 优化经历!
- Shell编程进阶篇(完结)
- jsp文件通常用common_29.jsp-动态生活之用Commons-FileUpload组件控制文件上传
- PyInstaller打包exe,打包出来的可执行程序在触屏版win10家庭版系统下报错Colud not find QtWebEngineProcess.exe
- h5精准定位_HTML5 地理定位
- JS - Class继承
- ps自定义形状工具_PS教程——用PS绘制虚线的三种方法
- qt mysql查询中文相等_请教:Qt如何实现查询数据库中具有中文表名的表
- Android 第十三课 SharedPreferences存储
- css3优惠卷上方锯齿_css3怎么实现锯齿边框?
- React面试题总结,含爱奇艺,小米,腾讯,阿里
- 避免门事件 巧妙清除搜狗浏览器记录
- AES-encryptor
- 西门子触摸屏脚本程序_新手请收藏,超详细的西门子触摸屏设置与编程图文教程...
- linux mv文件个数,关于linux:mv一个文件,其中包含Shell脚本中的空格
- 最新接单抢单系统返利+资金盘+区块链自动抢单系统源码
- 任务式对话中的自然语言理解(智能对话场景)
- 中科大和西工大 计算机考研真题,中科大给考6系同学的一点复试建议
- Ubuntu18.04更换开机登录界面壁纸