IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Shell编程规范与变量 -> 正文阅读

[系统运维]Shell编程规范与变量

目录

前言

一、Shell的概述

1.什么是Shell

2.Shell的作用

二、Shell脚本的额概述

1.什么是Shell脚本

2.Shell脚本能干什么

3.Shell脚本的使用场景

4.如何学习Shell脚本

三、Shell脚本的基本操作

1.Shell的构成

2.一个完整的Shell脚本构成

四、重定向操作

1.交互式硬件设备

2.重定向操作

五、Shell变量及赋值

1.Shell的变量

2.变量的作用

3.变量的类型

4.用echo查看和引用变量

5.变量赋值的特殊操作

6.设置变量的作用范围

7.数值变量的计算

六、特殊的Shell变量

1.环境变量

2.只读变量

3.位置变量

4.预定义变量

总结


前言

在一些复杂的Linux维护工作中,大量重复性的输入和交互操作不但费时费力,而且容易出错,而编写一个恰到好处的Shell脚本程序,可以批量处理、自动化额完成一系列维护任务,大大减少管理员的负担。

一、Shell的概述

1.什么是Shell

Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可是交互也可以是非交互式的,我们输入的命令计算机是不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制文件程序,同时又把计算机的生成的结果返回给我们。

2.Shell的作用

Linux系统中的Shell是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个"命令解释器"的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。

常见的 Shell解释器程序有很多种,使用不同的Shell时,其内部指令、命令行提示符等方面会存在一些区别。通过cat/etc/shells文件可以了解当前系统所支持的Shell 脚本种类,登录后默认使用的Shell程序,一般为/bin/bash,不同的Shell的内部指令,运行环境等会有所区别。

二、Shell脚本的额概述

1.什么是Shell脚本

Shell脚本就是说我们把原来linux 命令或语句放在一个文件中,然后通过这个程序文件去执行时,我们就说这个程序为 shell脚本或shell程序,我们可以在脚本中输入一系统的命令以及相关的语法语句组合,比如变量,流程控制语句等,把他们有机结合起来就形成了一个功能强大的shell 脚本。也就是说,将需要执行的命令保存到一个文件中,按照顺序执行,它不需要编译,它是解释型的。

2.Shell脚本能干什么

自动化完成软件的安装部署,如安装部署LAMP架构服务

自动化完成系统的管理,如批量添加用户

自动化完成备份,如数据库定时备份

自动化的分析处理,如网站访问量

3.Shell脚本的使用场景

在需要完成大量复杂、重复性的工作时,不需要在命令行重复执行命令,直接运行shell脚本即可,大大的节省了时间提高了效率。

4.如何学习Shell脚本

熟悉掌握各种Linux命令

掌握脚本的标准格式

掌握脚本的基本语法

三、Shell脚本的基本操作

1.Shell的构成

第一行为"#!/bin/bash" ,脚本申明(默认解释器〉∶表示此行以下的代码语句是通过/bin/bash程序来执行。还有其他类型的解释器.比如#! /usr/bin/python、#! /usr/bin/expect

注释信息:以"#“开头的语句表示为注释信息,被注释的语句在脚本运行时不会被执行

可执行语句:如echo命令,用于输出""之间的字符串

几种可执行脚本的方式

2.一个完整的Shell脚本构成

四、重定向操作

1.交互式硬件设备

标准输入:从该设备接收用户输入的数据

标准输出:通过该设备向用户输出数据

标准错误:通过该设备报告执行出错的信息? ? ??

类型设备文件文件描述编号默认设备
标准输入/dev/stdin0键盘
标准输出/dev/stdout1显示器
标准错误输出/dev/stderr2显示器

2.重定向操作

类型操作符用途
重定向输入<从指定的文件读取数据,而不是从键盘输入
重定向输出>将输出的结果保存到指定文件(覆盖原有内容)
>>将输出结果追加到指定的文件尾部
标准错误输出2>将错误信息保存到指定的文件(覆盖原有内容)
2>>将错误信息追加到指定的文件中
混合输出&>将标准输出、标准错误的内容保存到同一个文件中

五、Shell变量及赋值

1.Shell的变量

变量是用来临时保存数据的,并且该数据时可以变化的,任何一个语言都离不开变量,如果某个内容需要多次使用并且会重复出现,这样就可以使用变量了,如果需要修改直接修改变量就可以了

2.变量的作用

用来存放系统和用户所需要使用的特定参数

变量名:使用固定的名称,由系统预设或用户定义

变量值:能够根据用户设置,系统环境的变化而变化

3.变量的类型

自定义变量:由用户自己定义、修改和使用

特殊变量:环境变量、只读变量、位置变量、预定义变量

4.用echo查看和引用变量

通过在变量名称前添加前导符号"$",可以引用一个变量的值,使用echo 命令可以查看变量,可以在一条 echo命令中同时查看多个变量值

5.变量赋值的特殊操作

格式:echo $变量名

基本格式为“变量名=变量值”

echo的一些命令字符?

双引号(")主要起界定字符的作用,可以调用里面的变量

反撇号主要用于命令替换,将执行的命令赋值给变量?

用来提示用户输入信息,从而实现简单的交互?

6.设置变量的作用范围

默认情况下,新定义的变量只在当前的Shell环境中有效,因此称为局部变量。当进入子程序或新的子Shell环境时,局部变量将无法再使用

格式1:export 变量名

格式2:export 变量名=变量值

7.数值变量的计算

格式:expr 变量1 运算符 变量2 [运算符 变量3]?

常用运算符?

加法运算:+

减法运算:-

乘法运算:\*

除法运算:/

取余运算:%

六、特殊的Shell变量

1.环境变量

由系统提前创建,用来设置用户的工作环境

配置文件:/etc/profile、~/.bash_profile

常见的环境变量:

PWD、PATH

USER、SHELL、HOME

2.只读变量

用于变量值不允许被修改的情况

3.位置变量

表示为$n,n为1~9的数字

4.预定义变量

$#:命令行中位置变量的个数

$*:所有位置变量的内容

$?:上一条命令执行返回的状态,返回0表示执行正常,非0表示执行异常或出错

$0:当前执行的进程/程序名

总结

Shell脚本内容的构成:环境声明、注释文字、执行语句

重定向包括重定向输入、重定向输出、错误重定向

定义或赋值变量时,采用“变量名=变量值”的格式,赋值方式还可以使用单引号、双引号、反撇号、read命令等方式

查看或引用变量时,采用“$ 变量名”的格式

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:57:06  更:2021-09-04 17:59:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 2:39:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码