shell脚本(二)

简介:

一    test条件判断

  如果表达式为true,返回0退出状态,如果表达式为false,则返回非零退出状态。test具有替代语法,使用括号“[]”将表达式括起来,更易于阅读

 1。字符串比较运算符: = ; !=

  **) “ = ”  对两个字符串进行比较,相等则返回零推出状态,不相等则返回非零退出状态

 

 wKioL1lKfzui-BJ7AAA3g4gO3rE273.png

 **)“ != ” 对两个字符串进行比较,不相等则返回零退出状态,相等则返回非零退出状态

 wKiom1lKhb6xPSdtAAA4mLURxRU428.png

  2、数字比较符运算:

   -eq   检测两个数是否相等,相等则返回ture

  wKioL1lKhjuQM2swAAAkqeBPORQ987.png

  **) 输入一个ip ,检测该主机是否开机,当没有输入ip时提示用户输入ip

 wKiom1lKkr3hkx3HAABXxdkvvqk265.png

  

  -ne    检测两个数是否相等,不相等则返回true

  -lt    检测左边的数是否小于右边的,如果是,则返回true

 wKiom1lKh0XDvSwtAAA3j-9zbx0932.png

  -le    检测左边的数是否小于等于右边的,如果是,则返回true

  -gt    检测左边的数是否大于右边的,如果是,则返回true

  -ge    检测左边的数是否大于等于右边的数,如果是,则返回true

   *)输入两个数,将这两个数相加,判断他们的结果是否大于10

  wKioL1lKkkbBGWmBAAB3ODqXFE4784.png

3、文件状态运算符: 

  -b file    检测文件是否是块设备,如果是,则返回true

  -c file    检测文件是否是字符设备文件,如果是,则返回true

  -d file    检测文件是否是目录,如果是,则返回true

  -f file    检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回true

  -w file    检测文件是否可写

  -x file    检测文件是否可执行

  -s file    检测文件是否为空,不为空则返回true

  -e file    检测文件是否存在,如果是,则返回true

  -L file    检测文件是否为链接,如果是,则返回true

 wKiom1lKiX7juS9KAAA-j7N236E068.png

  **)输入文件名,显示文件的状态

 wKioL1lKkejjxwwwAAFh_Ca0sS8257.png

  wKiom1lKkUzyHby7AAC2xmjC4Ys828.png

4.逻辑运算符,

 !   非运算,表达式为true时,则返回false,否则返回true

 -o   或运算,有一个表达式true则返回true

 -a   与运算,两个表达式都为true才返回true

 &&   返回为true时执行命令

 ||   返回为false时执行命令

二、if语句

 if命令检查if后面的命令或列表的退出值。如果第一个命令评估值为true,则运行then之后的命令列表,直至else。,如果第一个命令的评估为false非零,则运行else与fi之间的命令列表(反向写if,标记if块的结束)

示例:

   **)自动建立目标文件中的用户,并添加密码westos

  wKiom1lKjoSigWXUAAEHHyHgrrs690.png

三、expect语句

 在shell中利用exprct实现自动应答脚本

  *)自动应答ssh远程连接时的问题

  wKioL1lKj7eTfVNHAAC851sjFW0572.png

 *)利用自动应答脚本远程连接主机并抓取该主机的主机名

 wKiom1lKkHrgPWDFAAEj9ZXwnEY826.png

四、 环境变量

 shell和脚本使用变量来存储数据,有些变量可以连同他们的内容传递给子进程,这些变量称为环境变量

 *)env  显示所有环境变量

  wKiom1lKkUzyHby7AAC2xmjC4Ys828.png

 *)利用alias定义属于自己系统命令,将命令写入.bashrc文件永久生效

 wKiom1lKk0DQ7UtfAABaIjzNv2U288.png

  ##讲“mv” 命令改为 “HH”



本文转自 昭He浅墨 51CTO博客,原文链接:http://blog.51cto.com/502703956/1940734,如需转载请自行联系原作者

目录
打赏
0
0
0
0
265
分享
相关文章
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
|
2月前
|
确定Shell脚本在操作系统中的具体位置方法。
这对于掌握Linux的文件系统组织结构和路径方面的理解很有帮助,是我们日常工作和学习中都可能使用到的知识。以上讲解详细清晰,应用简便,是每一个想要精通操作系统的计算机爱好者必备的实用技能。
77 17
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
206 3
|
2月前
|
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
82 4
|
3月前
|
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
225 25
|
9月前
|
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
248 1
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
多种脚本批量下载 Docker 镜像:Shell、PowerShell、Node.js 和 C#
本项目提供多种脚本(Shell、PowerShell、Node.js 和 C#)用于批量下载 Docker 镜像。配置文件 `docker-images.txt` 列出需要下载的镜像及其标签。各脚本首先检查 Docker 是否安装,接着读取配置文件并逐行处理,跳过空行和注释行,提取镜像名称和标签,调用 `docker pull` 命令下载镜像,并输出下载结果。使用时需创建配置文件并运行相应脚本。C# 版本需安装 .NET 8 runtime。
290 2
|
5月前
|
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
426 32
|
8月前
|
Shell脚本要点和难点以及具体应用和优缺点介绍
Shell脚本在系统管理和自动化任务中扮演着重要角色。尽管存在调试困难、可读性差等问题,但其简洁高效、易于学习和强大的功能使其在许多场景中不可或缺。通过掌握Shell脚本的基本语法、常用命令和函数,并了解其优缺点,开发者可以编写出高效的脚本来完成各种任务,提高工作效率。希望本文能为您在Shell脚本编写和应用中提供有价值的参考和指导。
357 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问