初忍考试提纲-----shell脚本的“最初形态” 一阶

什么是shell脚本

**shell脚本 编辑
Shell Script ,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
**

shell的作用是什么

Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。 Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言(就是你所说的shell脚本)。作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。
在这里插入图片描述

shell的应用场景

1,重复性操作
:比如批量创建用户,巡检
2,交互性任务
3,批量事务处理
4,服务运行状态监控
5,定时任务执行
等等

shell编程规范

关于命名

**
1,命名只能使用字母,数字和下划线,首个字符不能以数字开头。
2,中间不能有空格,不能使用标点符号,不能使用汉字,可以使用下划线 _ ,所以我们往往使用 _ 作为分词的标识 例如 user_name、city_id 等等
3,不能使用bash里的关键字(可用help命令查看保留关键字)。
4,脚本中的所有变量风格统一使用下划线命名风格。(不强制,视情况而定)**
在这里插入图片描述

关于首行

我们往往看到大多数shell脚本的第一行是 #!/bin/bash 这句话,当然也有 #!/bin/sh、#!/usr/bin/bash,这几种写法也都算是正确,
在这里插入图片描述shell脚本的第一行用来指定执行脚本的时候使用的默认解析器是什么, #!/bin/bash这样写就是指定使用 /bin 目录下的 bash来解析。shell脚本是逐行解释执行的,在遇到第一行是 #!/bin/bash 的时候就会加载 bash 相关的环境,在遇到 #!/bin/sh 就会加载 sh 相关的环境,避免在执行脚本的时候遇到意想不到的错误。但一开始我并不知道我电脑上安装了哪些shell,默认使用的又是哪一个shell,我脚本移植到别人的计算机上执行,我更不可能知道别人的计算机是Ubuntu还是Arch或是Centos。为了提高程序的移植性,本shell规约规定使用 #!/usr/bin/env bash, #!/usr/bin/env bash 会自己判断使用的shell是什么,并加载相应的环境变量。

学会用type命令去查看类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述等等
当然我们这里经常用到的就是#!/bin/bash

编写第一个脚本

使用vim文本编辑器,每行一条linux命令,按实行顺序依次编写
例:
在这里插入图片描述

**当然还要赋予可执行权限

使脚本具有可执行属性
在这里插入图片描述

执行脚本文件

执行脚本文件一共有三种方法,我们一起来看看吧
方法一:脚本文件路径(绝对路径与相对路径)
在这里插入图片描述
方法二:sh脚本文件路径
在这里插入图片描述
方法三:soure脚本文件路径
在这里插入图片描述
这里要备注一下,soure 可以用 . 代替 ,另外sh执行可以不需要执行权限
当用soure执行的时候,路径发生了变化,上两种都可以不用权限执行,但是一个路径 不会发生变化,一个路径发生了变化,

这里还要强调一点 ./first.sh 需要执行权限

.first.sh 等同于 soure first. sh 路径会发生变化

更完善的脚本构成

那么怎么才能让脚本更完善,我需要脚本声明。注释信息,可实行语句。
我们来举个例子:

在这里插入图片描述这里也要注意一个问题就是输出的语句一定要用双引号,双引号里面是字符串

重定向与管道操作

交互式硬件设备大概分为山中 。1 标准输出,2标准输入。3标准错误
1,标准输出就是:通过该设备想用户输出数据,
2 ,标准输入就是,从该设备接受用户输入的数据
3, 标准错误,通过该设备报告执行出错信息

在这里插入图片描述

重定向操作

分为四个部分
在这里插入图片描述

管道操作符号在这里插入图片描述

在这里插入图片描述

shell变量的作用.类型

在这里插入图片描述

自定义变量

在这里插入图片描述

自定义变量中的引号

在这里插入图片描述
引用变量会用到$符号
在这里插入图片描述

设置变量的作用范围

在这里插入图片描述

整数变量的运算及运算符

在这里插入图片描述

特殊shell变量之环境变量

在这里插入图片描述

特殊shell变量之只读变量

在这里插入图片描述

特殊变量之位置变量

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值