shell脚本


定义:利用shell的命令所写的一个可以执行的程序,这个程序是纯文本文件,把一些业务操作使用控制语句连接起来,有了一定的逻辑关系。也可以搭配一些shell的语法或重定向,以达到我们所要实现的目的。
好处就是为了实现功能的自动化操作。

一、 基本语法

第一行:#!/bin/bash

第二行起:正常的逻辑代码

使用#进行单行注释,:<<符号 语句 符号 多行注释(eg. :<<! num=1 !)

#!/bin/bash
echo hello
# 单行注释
:<<! 这里!换成任意符号都行 只要前后匹配
	多行注释
	dashjahdjahd
!

二、 数值运算

1. $[]

num=1
echo $[$num+=1]		输出2

2. (())

优点:

  1. 支持a++,a–操作
  2. 支持多个表达式运算,各个表达式之间用“,”分开
  3. 双括号可以进行逻辑运算,四则运算
  4. 双括号结构 扩展了for,while,if条件测试运算
  5. 在双括号结构中,所有变量可以不加入:“$”符号前缀

使用方法:((表达式1,表达式2,表达式3))

num=1
((a=num+1,b=a+1))

如果双括号带:$,将获得表达式值,赋值给左边变量

a=10
b=10
total=$((a*b))

3. let 表达式

注意:let必须是完整的算术表达式,即有等号两边

var=1
let "var+=1"let var+=1 这种写法运算符间不能有空格

三、大小判断

数值判断字符串判断
-eq 相等
-ne 不等
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
== 等于
!= 不等

四、控制语句

1. 判断

  1. if判断
if [ 判断式 ] 逻辑连接符 [ 判断式 ] ; then
	执行语句
elif [ 判断式 ] 逻辑连接符 [  判断式 ] ; then
	执行语句
......
else
	执行语句
fi
  1. case判断
case $变量名 in
	匹配的内容 )
		执行语句
	;;
	匹配的内容 )
		执行语句
	;;
	......
	* )
		执行语句
	;;
esac

2. 循环

  1. while循环 满足条件时执行
while [ 执行条件 ]
do
	循环体
done
  1. until循环 满足条件时终止
until [ 执行条件 ]
do
	循环体
done
  1. for循环

    1)固定循环

    for i in 1 2 3 4 5 6 7 8 9 10
    do
    	循环体
    done
    

    2)不固定循环,语法与Java类似

    for ((i=1;i<=10;i++))
    do
    	循环体
    done
    

五、函数

把一些公共的代码封装成一个函数,使用的时候直接调用

好处:避免代码冗余。

1. 定义函数

function 函数名 () {
	函数体
}

注意

  • 定义函数有括号没有形参,参数的个数由调用时传递的实参确定
  • 在函数体内使用$n直接获取第n个实参
  • 函数体内可以使用$#
  • 获取实参的个数
  • 如果函数有返回值,使用echo返回,不是return

2. 调用函数

函数名 参数1 参数2 ...
sayHello hello world

注意

  • 一定要先定义后调用,否则无法执行

  • 调用的时候没有括号,参数用空格分隔

  • 参数的个数没有限制,根据实际情况被调用

  • 通过 变量名=$(函数名 参数 参数 …) 获得返回值

    此种方法函数体内的echo不再进行输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值