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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux学习之路—编写简单的Shell命令脚本 -> 正文阅读

[系统运维]Linux学习之路—编写简单的Shell命令脚本

Linux学习之路—编写简单的Shell命令脚本


可以将Shell 终端解释器当作人与计算机硬件之间的“翻译官”,它作为用户与Linux 系
统内部的通信媒介,除了能够支持各种变量与参数外,还提供了诸如循环、分支等高级编程
语言才有的控制结构特性。

分为两种:

交互式(Interactive):用户每输入一条命令就立即执行。
批处理(Batch):由用户事先编写好一个完整的Shell 脚本,Shell 会一次性执行脚本
中诸多的命令。

查看SHELL变量可看到系统默认使用Bash作为命令执行的解释器了

image-20210913075058187

编写简单的脚本

看起来很复杂,其实使用Vim编辑器将Linux命令按照顺序依次写入到一个文件中就是一个简单的脚本了。

在根目录编辑一个例子

pwd
ls -al

这样就能实现一个简单的脚本执行了,此外,还可以在1、2行加上注释

# !/bin/bash
# For Example BY linuxprobe.com
pwd
ls -al

这样实现的效果是一致的,注释部分可以进行声明,告诉系统使用哪种shell解释器来执行,和介绍脚本的功能和命令的介绍信息。

image-20210913075458190

另一种运行方式

./example.sh

首次运行可能会出现权限不够的情况,使用chmod +x example.sh 可进行权限的修改

image-20210913075943573

接收用户的参数

Linux脚本语言内设了用于接收参数的变量,变量之间可以使用空格间隔。

例如 0 对 应 的 是 当 前 S h e l l 脚 本 程 序 的 名 称 , 0 对应的是当前Shell 脚本程序的名称, 0Shell#对应的是总共
有几个参数, ? 对 应 的 是 所 有 位 置 的 参 数 值 , *对应的是所有位置的参数值, ??对应的是显示上一次命令的执行返回值,而
$1、$2、$3…则分别对应着第N 个位置的参数值,如图4-15 所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fRiFsbjQ-1631493193020)(C:\Users\86177\AppData\Roaming\Typora\typora-user-images\image-20210913080428582.png)]

image-20210913080542505

参考:https://www.linuxprobe.com/docs/LinuxProbe.pdf

判断用户的参数

Shell 脚本中的条件测试语法可以判断表达式是否成立,若条件成立则返回数字0,否则便返回其他随机数值。切记,条件表达式两边均应有一个空格。

image-20210913081648916

按测试对象划分:条件测试语句可分为4种:

文件测试语句、逻辑测试语句、整数值比较语句、字符串比较语句

下面分别简单介绍一下:

文件测试语句

image-20210913081007147

使用文件测试语句来判断/etc/fstab 是否为一个目录类型的文件,然后通过Shell 解释
器的内设$?变量显示上一条命令执行后的返回值。如果返回值为0,则目录存在;如果返回值
为非零的值,则意味着目录不存在:

image-20210913081459555

其他的判断语句可以自己去尝试一下,同上类似

逻辑测试语句

三种逻辑语句,“与”:&& 、“或”:|| 、“非”:!

“与”:&& ,当前面的命令执行成功后才会执行它后面的命令

“或”:||,当前面的命令执行失败后才会执行它后面的命令

“非”:!,表示把条件测试中的判断结果取相反值

image-20210913082236085

整数值比较语句

image-20210913082322453

判断10 是否等于 10,返回 0 ,是正确的

image-20210913082424195

字符串比较语句

用于判断测试字符串是否为空值,或两个字符串是否相同。它经常用来
判断某个变量是否未被定义(即内容为空值)

image-20210913082554465

结合前面的内容判断

image-20210913082856378

学到这里,后面再学流程控制语句

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:39:18  更:2021-09-18 10:39:58 
 
开发: 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年11日历 -2024/11/15 15:19:21-

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