什么Shell脚本
shell 脚本与windows/Dos下的批量处理相似,但是比windos下的批量处理更强大,比其他编程程序编辑的程序效率更高,它使用了 Linux/Unix 下的命令
Shell脚本规则
1.变量的规则
变量名 = 值
等号两边不能有空格
定义特殊的变量需要用单引号或双引号
定义linux命令需要返单引号
单引双引的区别
单引:有¥(这个就是横数字键四)变量名,输出的是变量名对应的变量值
双引:有¥变量名,输出的是其本身
2.脚本的命名格式
脚本名称使用.sh结尾
3.脚本的起始行格式
第一行必须写 #! /bin/bash
4.脚本输入输出格式
输入:read -p "描述"
输出:echo $变量名
5.脚本调用
方式1:./脚本名.sh(权限问题)
方式2:sh 脚本名.sh
6.参数传递
向.sh文件中传递数据
格式:sh 脚本名.sh 参数
¥1:接收第一个参数~~$n
$n:文件名称
$@:所有参数 s
$#:参数个数 ¥0
比较运算符
数字 比较运算符 | 字符串 比较运算符 | 逻辑运算符 |
-eq(相等) | ==相等 | -a逻辑与 |
-ne(不相等) | !=不相等 | -o逻辑或 |
-gt(大于) | !逻辑非 | |
-ge(大于等于) | ||
-lt(小于) | ||
-le(小于等于) | ||
|
if语句
格式: 多条件: if [ 条件 ] if [ 条件 ] then then 语句 语句 else elif [ 条件 ] 语句 then fi 语句 …… else 语句 fi
注意:if后面有空格 条件两边有空格 if条件里面存在变量,需要¥,而且变量两边需要双引 fi是结束标识 |
case规则
格式: case ¥变量名 in “值”) 语句;; “值”) 语句;; …… esac(←结束标志) 注意:第一行case以in结尾 值可以是数字也可以是字符串,数字范围[0-9] 结束语句;; esac结束标志 |
For循环
格式: for 变量 in 列表 do 语句 done
|
While循环
格式: while [ 条件 ] do 语句 done
注意:while后面有空格 条件两边有空格 while条件里面存在变量,需¥,变量两边双引 done 是结束标识
|
Shell脚本函数
1.定义格式:函数名(){代码}
调用格式
函数名
注意:必须先定义一个函数,然后调用
3.函数中的参数
使用¥n来接收数据
2.函数中的返回值
Shell函数中默认存在返回值
查看函数返回值:¥?
注意点:如果没有代码错误默认返回值为0,有错误返回值1