1、shell介绍:shell是操作系统的终端命令行

(1)shell可以理解为软件系统提供给用户操作的命令行界面,可以说它是人机交互的一种方式。
(2)我们可以使用shell和操作系统、uboot等软件系统进行交互。具体来说就是我们通过shell给软件系统输入命令然后回车执行,执行完成后又会回到shell命令行可以再次输入命令执行。
(3)上述的操作方式一般情况下工作很好,但是有缺陷。譬如我们要在linux下创建一个文件a.c,可以touch a.c 但是如果我现在是用在linux下创建100个文件,分别为a1.c a2.c.....a100.c 如果这时候还是手工去命令行下执行命令创建也可以,但是很累。最好的做法就是把创建过程写成一个shell脚本程序,然后去执行这个shell脚本程序,执行这个程序的效果和手工在命令行输入那些命令效果一样的。(回忆在arm裸机中安装交叉编译工具链时,创建arm-linux-xxx的符号链接时)

2、shell是一类编程语言

(1)编写shell脚本时使用的语言就是shell语言,又叫脚本语言。
(2)shell脚本其实是一类语言而不是一个语言。

常用shell语言:sh、bash、csh、ksh、perl、python等
(1)在linux下常用的脚本语言其实就是bash、sh;
(2)perl、python这样的高级shell脚本语言,常用在网络管理配置等领域,系统运维人员一般要学习这些。
(3)脚本语言一般在嵌入式中应用,主要是用来做配置。(一个复杂的嵌入式程序都是可配置的,配置过程就是用脚本语言来实现的)自然不会使用过于复杂的脚本语言特性,因此只需要针对性的学习即可。
(4)linux下最常用的脚本就是bash,我们学习也是以bash为主。

3、shell脚本的运行机制:解释运行
(1)C语言(C++)这种编写过程是:编写出源代码(源代码是不能直接运行的)然后编译链接形成可执行二进制程序,然后才能运行;而脚本程序不同,脚本程序编写好后源代码即可直接运行(没有编译链接过程)
(2)shell程序是解释运行的,所谓解释运行就是说当我们执行一个shell程序时,shell解析器会逐行的解释shell程序代码,然后一行一行的去运行。(顺序结构)
(3)CPU实际只认识二进制代码,根本不认识源代码。脚本程序源代码其实也不是二进制代码,CPU也不认识,也不能直接执行。只不过脚本程序的编译链接过程不是以脚本程序源代码为单位进行的,而是在脚本运行过程中逐行的解释执行时才去完成脚本程序源代码转成二进制的过程(不一定是编译链接,因为这行脚本程序可能早就编译连接好了,这里我们只是调用它)的。

转载于:https://www.cnblogs.com/zhangshenghui/p/5843583.html

(五)uboot移植补基础之shell相关推荐

  1. u-boot移植随笔:u-boot shell与ASCII码

    u-boot移植随笔:u-boot shell与ASCII码 前几天让u-boot的shell更接近"shell",发现可以使用Ctrl-p等等来控制,心里总在想它们是怎么实现的, ...

  2. u-boot移植随笔:让u-boot shell支持tab、命令历史

    u-boot移植随笔:让u-boot shell支持tab.命令历史 前两天一直在想一个问题,u-boot的shell怎么不支持命令自动补齐,命令历史呢?由于受linux的shell影响,只要其它的& ...

  3. 主线剧情03-NXP-i.MX系列的u-boot移植基础详解

    u-boot 移植基础详解 本文系广泛撷取.借鉴和整理(相关的内容在网络上有很多,但很多相互抄,或者是版本太老,或者就是不通用的非常有平台针对性的步骤,碎片化泛滥,甚至就是有待分拣的垃圾厂,当然也有一 ...

  4. u-boot移植随笔:System.map文件格式

    u-boot移植随笔:System.map文件格式 背景:正在努力看u-boot代码,已经研究了两三天,内容太多,一时难理清头绪.不过有一定的linux基础,也懂点gnu扩展,elf格式,连接器还没有 ...

  5. 【u-boot】uboot代码简要分析 (u-boot 移植)

    uboot代码简要分析 (u-boot 移植) 2012-12-19 22:46:04 [转] 先来看看源码目录结构,再按照代码的执行顺序简单地分析源码 1.U-boot源码整体框架 源码解压以后,我 ...

  6. [学习资料] Tiny210(S5PV210) u-boot移植

    Tiny210(S5PV210) u-boot移植 http://www.microoh.com/bbs/forum.php?mod=viewthread&tid=254&fromui ...

  7. 【正点原子Linux连载】第三十三章 U-Boot移植 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  8. u-boot移植到mini2440,u-boot版本2008.10

    这篇文章写于2008.12.28日,主要记录了我移植u-boot-2008.10的过程,并附上了移植好的patch文件.移植好的u-boot-2008.10适用友善公司的mini2440和阳初公司的y ...

  9. uboot移植新手入门实践

    版权声明:bug实验室原创 https://blog.csdn.net/weixin_43349284/article/details/82958451 u-boot移植新手入门实践视频 前言 视频介 ...

最新文章

  1. div模拟的下拉框特效jquery
  2. wangeditor html编辑,Vue整合wangEditor富文本编辑器
  3. 分布式精华问答 | 如何实现分布式系统的高可用性?
  4. 小爱同学App下架苹果App Store 网友:SiriOS警告?
  5. 【Antlr】Antlr语法设计
  6. 设计图书馆oracle触发器,Oracle触发器开发与设计
  7. OpenStack概念结构与逻辑架构:Conceptual architecture and Logical architecture
  8. 【python】python程序的输入输出以及标识符详细解读
  9. 计算机如何共享桌面,怎么共享电脑屏幕?
  10. Webview下载apk
  11. Chrome DevTools 通过 cdp 调节 CPU Throttling
  12. 推荐2022年有微信小程序毕业设计需求的70多个作品
  13. 蒙特卡洛模拟电动汽车充电matlab,基于蒙特卡洛模拟的电动汽车充电负荷预测
  14. rapidSVN : Error while performing action: ra_serf: The server sent a truncated HTTP response body.
  15. android 重映射按键,键盘重映射的终极教程 | MOS86
  16. (新版)一分钟经理人读后感
  17. swift 实现iOS手势密码、指纹密码、faceID
  18. About Axure(1)
  19. MSN Messenger无法登陆
  20. Swift5.0 用正则表达式检测文本中的网页链接

热门文章

  1. hadoop1常见配置含义
  2. hdu 1159(最长公共子序列)
  3. Foursquare引爆了什么
  4. 李洋疯狂C语言之关于自增自减遇到的一些问题
  5. 2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018) - 4.28
  6. elasticsearch全局analyzer声明
  7. C语言 第八章 函数、指针与宏
  8. iOS UI-AlertView(警示框)和ActionSheet(选择框、操作表单)
  9. 单独一台机器测试Open×××加密隧道的问题和解决
  10. audio 标签简介