Linux运维实战:CentOS7.6操作系统(Shell脚本基础)

文章目录

  • 第19章 Shell脚本基础
    • 19.1 Shell基本语法
      • 19.1.1 什么是Shell
      • 19.1.2 编程语言分类
          • 1.低级语言
          • 2.高级语言
      • 19.1.3 什么是Shell脚本
    • 19.2 Shell变量及运用
      • 19.2.1 Shell变量
          • 1.变量的设置规则如下
          • 2.按照变量的作用可以分成以下4类
          • 3.按照变量的作用域可以把变量分成两类:全局变量和局部变量
      • 19.2.3 命令的引用,使用“$()”或反引号
      • 19.2.4 命令的嵌套使用,使用“\$(\$())”
      • 19.2.5 Shell中单引号和双引号的区别
      • 19.2.6 删除变量
      • 19.2.7 环境变量
      • 19.2.8 设置PATH环境变量
      • 19.2.9 Shell位置变量
      • 19.2.10 特殊变量
    • 19.3 数学运算
      • 19.3.1 expr命令
      • 19.3.2 使用“$(())”

第19章 Shell脚本基础

19.1 Shell基本语法

19.1.1 什么是Shell

Shell是一个命令解释器,在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可以是交互式的,也可以是非交互式的,如图19-1所示。

在这里插入图片描述
图19-1 Shell与内核交互

我们所输入的命令计算机是不能识别的,这时就需要一种程序来对命令进行翻译,变成计算机能识别的二进制程序,同时又把计算机生成的结果返回给我们。

19.1.2 编程语言分类

编程语言主要有低级语言和高级语言。

1.低级语言

低级语言分为机器语言和汇编语言。机器语言是二进制语言,仅是0和1这两个数字的排列组合,也是机器唯一能够识别的语言,因此称为机器语言。汇编语言是符号语言,使用助记符来代替操作码,也就是用符号代替机器语言的二进制码。机器语言和汇编语言都是面向机器的语言。

2.高级语言

高级语言是比较接近自然语言或者说人类语言的一种编程语言,用人们能够容易理解的方式进行程序编写。高级语言分为静态语言和动态语言。静态语言是编译型语言,如C、C++、Java,该类语言有一个程序开发环境,不需借助额外的二进制程序,可以编写代码,代码编写完成后,需要编译器将其直接转换成二进制后即可独立运行。

编译器可以将人类理解的语言翻译成机器理解的语言。

GCC是一套功能强大、性能优越的编译器,它是GNU计划的代表作品之一。GCC是Linux平台下最常用的编译器。GCC的原名为GNU C Compiler,即GNU C语言编译器,随着GCC支持的语言越来越多,它的名称也逐渐变成了GNU Compiler Collection。

动态语言是解释型语言,如PHP、Shell、Python、Perl。动态语言在某个代码编写完成以后,不需转换成二进制格式,而是借助解释器在代码执行当中解释转换(边解释,边执行)。

19.1.3 什么是Shell脚本

一般脚本的命名都是以.sh结尾的,实际上,Linux系统不以扩展名识别文件类型,但为了统一标准,尽量使用.sh结尾。

!/bin/bash的作用是告诉脚本使用的是哪种Shell作为命令解释器。如果不指定Shell,则以当前Shell作为执行的Shell。

在Shell中以“#”开头,表示整行被当作一个注释,执行时被忽略。

(2)创建Shell程序的步骤如下。

① 创建一个包含命令和控制结构的文件。② 修改这个文件的权限使它可以执行,使用chmod +x test.sh。③ 检测语法错误。④ 执行./test.sh

(3)Shell脚本的执行通常有以下几种方式。

/root/test.sh(使用绝对路径执行脚本)或者 ./test.sh(当前路径下执行脚本的话,要有执行权限 chmod +x test.sh)。

bash test.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/427255.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3 中组合键 command+Enter / shift+Enter / alt + Enter 实现换行,详细实现

vue3 中组合键实现换行 需求背景 有一个聊天室功能,采用输入框的形式,输入完毕使用Enter,可以直接进行发送。使用一些组合键 比如 commandEnter / shiftEnter / alt Enter … 可以实现换行操作。但现实的情况是,原生 Enter 天然…

前端项目对接protobufjs的时候,踩坑总结

Protobuf(Protocol Buffers)是一种用于序列化结构化数据的语言无关、平台无关、可扩展的机制。在JS/TS项目中,使用WebSocket与Protobuf可以实现高效的通信和数据传输。protobufjs官方仓库:https://github.com/protobufjs/protobuf.js 安装pro…

人工智能之数据科学库sklearn

引言 当我初次接触数据分析三剑客(numpy、pandas、matplotlib)时,感觉每个库的功能都很多很杂,所以在差不多理清了各模块功能后便相继推出了各自教程(文末附链接);后来,当接触了机器…

怎么给wordpress网站底部页脚添加备案号和链接?

以前“WordPress后台 >> 常规”最底部是有一个ICP备案号的,我们只需要填写备案号并保存更改即可让WordPress自带主题底部显示ICP备案号,但是现在新版本的WordPress已经没有了这个ICP备案号选项,而且也无法直接添加公安联网备案号&#…

关于网络模型的笔记

1. OSI 七层参考模型: 简介: 七层模型,亦称 OSI(Open System Interconnection)参考模型,即开放式系统互联。参考模型 是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联…

条件语句及if语句,case语句

文章目录 条件语句一、测试1、概述格式 2、文件测试2.1 格式2.2 常用操作符 3、比较整数数值3.1 格式3.2 常用操作符 4、字符串比较4.1 格式4.2 常用操作符 5、逻辑测试(短路运算)5.1 格式5.2 常用操作符 6、双中括号6.1 格式6.2 说明 二、if语句1、单分…

遗传算法原理详细讲解(算法+Python源码)

博主介绍:✌专研于前后端领域优质创作者、本质互联网精神开源贡献答疑解惑、坚持优质作品共享、掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战,深受全网粉丝喜爱与支持✌有需要可以联系作者我哦! 🍅文末获…

配置ntp时间服务器和ssh免密登录实验

1:配置ntp时间服务器,确保客户端主机能和服务主机同步时间 第一步,将服务器的时间同步对象改为阿里的时间服务器(这样比较精准) 先启动服务:[rootserver ~]# systemctl start chronyd 进入配置文件&#xf…

dolphinscheduler节点二次开发需要改动的部分

dolphinscheduler节点二次开发需要改动的部分 前端 在dolphinscheduler-ui/public/images/task-icons/目录下新增两个节点的logo图片,一个为激活状态的一个为非激活状态的,如下。 修改文件dolphinscheduler-ui/src/views/projects/task/constants/task…

爬取咚漫漫画

一、数据来源分析1.确定自己的需求:采集哪个网站的上面的数据内容正常的访问流程:1.选中漫画--->目录页面 (请求列表页面,获取所有的章节链接)2.选择一个漫画内容--->漫画页面 (请求章节链接&#xf…

基于TriDet的时序动作检测算法训练自己的slowfast数据

最近一直在研究时序动作识别和检测,也一直关注着目前的最新进展,有好的算法,我都会在我自己的数据集上运行看看,一方面是为自己累积相关算法,另一方面也是想看看,目前最新的算法是否可以应用到一些项目上。…

对话顺网科技创始人华勇:建立坚定的AI信仰,从内而外全面拥抱AI

“ 进军AI智算时代的号角已被吹响” 整理 | 梦婕 编辑 | 欣桐 出品|极新 1月18日,顺网科技以“跃迁向未来”为主题的战略升级暨产品升级发布会在杭州圆满召开。顺网科技公布了新战略——“立足算力,聚焦AI”,并揭晓了全新的品…