菜单
格式:
ps3=" "
menu="
"
select
do
例:菜单选择执行命令
函数
y=f(x)
sin cos tan
语句块定义成函数约等于别名
定义函数,再引用函数
基本格式
1.function 函数名 {
命令序列
}
2.函数名(){
命令序列
}
查看函数
[root@localhost ~]# declare -F
declare -f __HOSTNAME
declare -f __SIZE
declare -f __SLAVEURL
删除函数
unset func_name
[root@localhost ~]# dir
anaconda-ks.cfg pricegame.sh sum.sh 公共 视频 文档 音乐
initial-setup-ks.cfg sum1.sh yum.sh 模板 图片 下载 桌面
函数的返回值
return表示退出函数并返回一个退出值,脚本中可以用$?变量表示该值
使用原则:
-
函数一结束就去返回值,应为$?变量只返回执行的最后一条命令的退出返回码
-
退出码必须是0-255,超出的值将为除以256取余
例:判断是不是管理员用户
函数的传参数
#!/bin/bash
sum=$[$1 + $2]
echo $sum
[root@localhost opt]# ./sum.sh 1 2
3
sum1 (){
sum=$[$1 +$2]
echo $sum
}
read -p "请输入第一个参数:" num1
read -p "请输入第一个参数:" num2
sum1 $num1 $num2
sum1 () {
sum=$[$1 + $2]
echo $sum
}
sum1 10 20
函数递归
函数调用自己本身的函数
例:#阶乘 5! 1* 2 * 3 * 4 * 5
数组
定义数组格式:
1.数组名=(value0 value1 value2 value3 ......)
2.数组名=([0]=value [1]=value1 [2]=value2 ....)
3.列表名="value0 value1 value2 value3 ...... "
数组名=($列表名)
4.数组名[0]="value1"
数组名[1]="value2"
数组名[2]="value3"
数组的包括数据类型
数值型
字符型
冒泡排序
例子:100 30 50 70 60 冒泡排序