Shell脚本
  1. shell脚本:简单的脚本实质就是一些命令的堆积;复杂的脚本是一些命令加条件判断语句的组合以达到提升效率的目的

 

  1. shell脚本格式:

声明(#!):什么解释器执行

注释(#):脚本的一些介绍信息

脚本命令

 

脚本文件的名称虽然可以任意,但是为了避免误以为是普通文件,建议加上.sh结尾,标识为一个脚本文件

 

  1. 接收用户的参数:

$0:获取脚本文件名称

$#:参数的总个数

$*:参数分别是

$1:数值表示第几个参数

 

#!/bin/bash

#这是一个参数传递的测试脚本

echo "脚本的文件名字是$0"

echo "脚本的参数一共有$#个,分别是$*"

echo "脚本的第一次参数是$1,第二个是$2"

if、for、while、case条件测试循环语句 shell脚本_for条件循环语句

if、for、while、case条件测试循环语句 shell脚本_for条件循环语句_02

 

 

  1. 文件测试语句:格式 [ 条件表达式 ];可以使用shell解释器的内设$?变量显示上一条命令执行后的返回值,返回值为0则上条语句判断正确,返回值为非0则语句判断错误

-d 判断文件是否为目录文件

-e 判断文件是否存在

-f 判断文件是否一般文件

if、for、while、case条件测试循环语句 shell脚本_shell脚本_03

 

  1. 逻辑测试语句:用于对前面接口进行逻辑分析

与(&&) 表示前面命令执行成功后才执行后面的命令

或(||) 表示前面命令执行失败后才执行后面的命令

非(!) 表示把条件测试的判断结果取反;测试结果正确的,则将其变成错误的

if、for、while、case条件测试循环语句 shell脚本_shell脚本_04

if、for、while、case条件测试循环语句 shell脚本_shell脚本_05

 

  1. 整数值比较语句

-eq 等于

-ne 不等于

-ge 大于等于

-gt 大于

-le 小于等于

-lt 小于

在linux中 > < =分别代表不同于比较语句,>代表标准输出重定向 <代表标准输入 =代表赋值

if、for、while、case条件测试循环语句 shell脚本_shell脚本_06

 

  1. 字符串比较

= 比较 字符串内容是否相同

!= 比较字符串内容是否不同

-z 判断字符串是否为空

if、for、while、case条件测试循环语句 shell脚本_while条件循环语句_07

if、for、while、case条件测试循环语句 shell脚本_for条件循环语句_08

if、for、while、case条件测试循环语句 shell脚本_case条件测试语句_09

 

  1. if条件测试语句:根据实际情况自动执行相应的命令

单分支格式:

if 条件测试操作             if 目录不存在

     then 命令序列              hen 创建该目录

fi                                  fi

if、for、while、case条件测试循环语句 shell脚本_for条件循环语句_10

if、for、while、case条件测试循环语句 shell脚本_shell脚本_11

 

双分支格式

if 条件测试操作             if 能够ping通

     then 命令序列1             then 主机在线

     else 命令序列2               else 主机不在线

fi                                   fi

if、for、while、case条件测试循环语句 shell脚本_if条件测试语句_12

if、for、while、case条件测试循环语句 shell脚本_for条件循环语句_13

 

 

多分枝格式:

if 条件测试操作            

then 命令序列1

elif命令序列2

then 命令序列2

else

命令序列3

fi

 

使用read进行值的传递,再进行多次判断进行等级的划分

if、for、while、case条件测试循环语句 shell脚本_if条件测试语句_14

if、for、while、case条件测试循环语句 shell脚本_for条件循环语句_15

 

  1. for条件循环语句:允许脚本一次性读取多个信息,然后逐一的对信息进行处理

格式:

for 变量名 in 取值列表

do

命令序列

done

if、for、while、case条件测试循环语句 shell脚本_if条件测试语句_16

if、for、while、case条件测试循环语句 shell脚本_if条件测试语句_17

if、for、while、case条件测试循环语句 shell脚本_shell脚本_18

  1. while条件测试语句:只要条件成立,无终止的执行

格式:

while 条件测试操作

do

命令序列

done

 

使用expr计算后面的数字传递给变量PRICE,RANDOM生成一个随机数进行%1000取余操作,定义TIMES次数变量统计猜的次数,直到猜对跳出循环

if、for、while、case条件测试循环语句 shell脚本_if条件测试语句_19

if、for、while、case条件测试循环语句 shell脚本_case条件测试语句_20

  1. case条件测试语句:case语句在多个范围内匹配数据,匹配成功则去执行相关命令并结束整个条件测试

格式:

case 变量名 in

格式1)

命令序列1

格式2)

命令序列2

……

格式n)

命令序列n

esac

 

if、for、while、case条件测试循环语句 shell脚本_case条件测试语句_21

 

if、for、while、case条件测试循环语句 shell脚本_case条件测试语句_22

if、for、while、case条件测试循环语句 shell脚本_shell脚本_23if、for、while、case条件测试循环语句 shell脚本_shell脚本_24if、for、while、case条件测试循环语句 shell脚本_shell脚本_25if、for、while、case条件测试循环语句 shell脚本_for条件循环语句_26

 

此文章仅记录自己的一个学习过程;逆水行舟