设为首页 收藏本站
查看: 957|回复: 0

linux学习--shell的脚本编程理解

[复制链接]

尚未签到

发表于 2018-8-29 14:04:08 | 显示全部楼层 |阅读模式
  底层硬件的调配和控制由linux内核负责,内核提供了API供我们编程调用,从而使用硬件资源。
  库文件是更便于调用,功能更强大的公用接口,类似于API.可以认为是若干API的组合。
  应用程序可以调用API来实现功能。也可以调用库文件,间接地调用API来实现功能。
  shell是内核提供给用户的一个界面,用于用户和内核进行交互。
  shell接收用户的操作指令,翻译成内核能够理解的类型,交给内核从而让内核来控制硬件执行。shell把运行结果转换成用户能识别的格式交给用户。
  所以,shell也是一种命令解释器。
  shell脚本是否可以执行,除了权限为可执行(x)外,还和文件的内容有关。
  脚本第一行必须是  #!/pathToShell/shellName   比如#!/bin/bash
  #! 叫shebang。出现在文本文件第一行的最前面两个位置。这种情况下,类unix操作系统的载入程序会分析shebang后的内容,并将这些内容作为解释器指令。载入程序将调用该解释器指令,并将该文本文件的名称作为该解释器的参数。(在shell中执行脚本,shell先读出脚本文件的第一行,分析是否有shebang,如果有,就将shebang后面的内容当做命令解释器,并调用,同时将该脚本的文件名当做参数($0)传递给这个解释器。命令解释器一般是个shell。调用命令解释器,一般是启动了一个子shell).
  shell可以调用现成的程序,但是不能直接调用API。
  shell脚本:ascii码格式的,用程序控制符将若干命令组合起来实现某种功能的特殊的文本文档。这种文档可以被shell理解并按照设计的逻辑来运行里面的命令。所以被称作可执行文档、脚本。
  shell脚本类似于windows中的批处理。
  程序代码:由语句和表达式组成
  表达式简单的可以理解成某语言的语法,而由这些语法构成的一条执行语句则是表达式语句。
  面向过程的编程中,语句执行方式
  1.顺序执行(默认)。
  2.选择执行 程序分支,通过条件判断选择不同的分支去执行。
  3.循环执行 将一段代码反复执行有限次,所以应该有退出条件。
  编程语言的分类
  按照执行方式分
  1.动态语言:
  所有语句解释执行,解释一句执行一句。变量在用到的时候才定义,不需提前定义。
  如:perl、bash、python
  2.静态语言:
  源代码必须完全编译,生成可执行的二进制文后才能运行。变量要提前定义好。
  如:c、c++
  按照变量类型的限制
  1.弱类型语言:
  变量无需明确声明数据类型。默认都以字符格式存储。不便于存储和操作。如bash脚本
  2.强类型语言:
  变量必须明确声明数据类型,便于存储和操作。如 c、c++、python等
  动态类型语言是弱类型的。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-558254-1-1.html 上篇帖子: linux下的JDK和TOMCAT一步安装的shell脚本 下篇帖子: linux学习--shell脚本for
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表