Shell中常用的语句
| exit 完全中断脚本的执行 |
| break 中断脚本的循环,但是会执行循环外的语句 |
| continue 跳出本次循环,进行下一次循环 |
进一步了解三者的区别,有如下实验:
执行该脚本:
脚本正常运行情况:
1.格式
for NUM in 1 2 3
for NUM in {1..3}
for NUM
in 或者 for NUM in
do
done
2.{1..10}与 `seq 1 10`
{1..10}是1到10,`seq 1 10 `也是1到10,但是seq可以设定步长
例如:`seq 1
2 10` 步长为2从1到10
有如下实验:
执行该脚本:
执行该脚本:
| 编写脚本检测ip是否存在 |
| 建立一个数据库,编写脚本对所有数据库进行备份操作,每个数据库备份一个文件,以.sql结尾备份到/mnt/mysql_dump |
编写脚本:
执行脚本:
1.语句格式
2.编写脚本,监控根分区的使用情况,当达到80%时给root发送邮件
查看根分区的使用情况
3脚本编写,监控根分区的使用情况,达到80%时自动弹出至当前shell
脚本的执行:
1.if语句的格式
2.脚本练习 email格式
<1>利用if语句编写脚本,判断文件类型
执行该脚本:
<2>编写脚本按要求用文件建立用户
1.文件数量不对时报错
2.文件不存在报错
3,文件行数差异报错
4.用户存在时显示用户存在,但是不修改用户密码
5.用户不存在时建立用户并设定密码
脚本的执行:
重新编辑用户文件,再次执行
<3>编写脚本输入cat 输出dog,输入dog输出cat
[ -eq ] 判断数值相等 [=] 字符相同
执行该脚本:
1.语句格式
2.脚本编写
<1>.编写脚本输入cat
输出dog,输入dog输出cat
脚本的执行:只进行一词匹配立即找到结果,相对if语句效率高
1.基础信息
| expect 是自动应答命令用于交互式命令的自动执行 |
| send发送问题答案给交互命令 |
| “\r”表示回车 |
| exp_continue 表示当问题不存在时继续回答下面的问题 |
| expect eof 表示问题回答完毕退出 expect 环境 |
| interact 表示问题回答完毕留在交互界面 |
| set NAME [ lindex $argv n ] 定义变量 |
需要安装expect才可以使用该语句
2.编写自动应答脚本
执行脚本:
自动应答脚本的另一种写法
执行脚本:
3.编写脚本,自动连接其他主机
执行脚本:
Shell中常用的语句的更多相关文章
- shell中常用的特殊符号
在shell中常用的特殊符号罗列如下: # ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `co ...
- mysql中常用的语句整理
mysql中常用的语句: 1:创建带自增长的主键的表 DROP TABLE IF EXISTS user_login ; CREATE TABLE user_login ( user_id INT ...
- linux Shell中常用的条件判断
linux Shell中常用的条件判断 -b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d ...
- shell中的比较语句
Linux比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格.笔者就曾因为空格缺少或位置不对,而浪费好多宝贵的时间 ...
- 【 PostgreSQL】工作中常用SQL语句干货
接触gp数据库近一年的时间,语法上和其他数据库还是有些许不同,工作中常用的操作语句分享给大家! -- 建表语句 create table ods.ods_b_bill_m ( acct_month t ...
- Shell中的循环语句实例
1.for循环语句实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do echo number $x done 注:" ...
- shell中常用的命令方法
<1>Linux Shell 脚本中字符串的连接方法 [root@localhost company]# var1=/etc/[root@localhost company]# var3= ...
- shell中的循环语句
for语法格式 for var in list;do commands done 其中list可以包含: 1) 直接写 for alpha in a b c d;do echo $alpha done ...
- Oracle中常用的语句
1.查询锁表 SELECT a.object_name,b.session_id,c.serial#,c.program,c.username,c.command,c.machine,c.lockwa ...
随机推荐
- 第十二篇 -- 如何向MFC对话框添加菜单
1.如何在基于对话框的MFC中添加菜单:https://blog.csdn.net/u012273127/article/details/71293088 步骤: 资源文件处右击Add Resourc ...
- 多项式求值问题(horner规则)——Python实现
# 多项式求值(Horner规则) # 输入:A[a0,a1,a2...an],x的值 # 输出:给定的x下多项式的值p # Horner迭代形式实现 1 # 在此修改初值 2 A = [2, 6 ...
- NPM 所有的指令已经问题 使用淘宝镜像 出现code EAI_AGAIN
windows怎么卸载cnpm? npm uninstall cnpm -g windows怎么检测cnpm是否安装成功 cnpm -v 我们直接将node的仓库地址换成淘宝仓库地址即可 单次使用 n ...
- SignalR的客户端.NET Client介绍
SignalR支持两种客户端:JavaScript Client和.NET Client.一个简单的SignalR例子中的SignalRDemo(点赞页面)就是JavaScript Client(HT ...
- SpringBoot AOP中JoinPoint的用法和通知切点表达式
前言 上一篇文章讲解了springboot aop 初步完整的使用和整合 这一篇讲解他的接口方法和类 JoinPoint和ProceedingJoinPoint对象 JoinPoint对象封装了Spr ...
- sqli-labs 靶场笔记
sqli-labs 靶场笔记 冲冲冲,好好学习 2020年1月12号 先来点铺垫 分类: 按照请求方法分类: 1.Get型注入:注入参数在get的参数里. 2.POST型注入:注入参数在POST的参数 ...
- netty系列之:使用POJO替代buf
目录 简介 decode和encode 对象序列化 使用编码和解码器 总结 简介 在之前的文章中我们提到了,对于NioSocketChannel来说,它不接收最基本的string消息,只接收ByteB ...
- 面试了一位33岁Android程序员,只会面向百度编程,居然要25k,脸呢?
最近逛论坛看到这样一个帖子: 面试了一位工作12年的程序员, 这位老哥有3年java开发经验,2年H5,7年Android开发经验,简历上写着精通Java,Android,熟悉H5开发.没有具体的技术 ...
- 字符串对比 BASIC-15
字符串对比 代码 import java.util.Scanner; /*给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等 ...
- MaterialDesign Or ComboBox 联动查询
<ComboBox Width="200" Height="30" x:Name="ComboxName" Text="{B ...