Shell编程——函数数组以及脚本调试(4)
Shell函数
将命令序列按格式写在一起
可方便重复使用命令序列
Shell函数定义
调用函数的方法
函数名 [参数1] [参数2]
实例1
两个数字求和
通过sum(){}定义函数
#!/bin/bash
sum(){
s=`expr $1 + $2 `
return $s
}
sum 2 3
echo $?
10年积累的成都网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有上高免费网站建设让你可以放心的选择与我们合作。
#!/bin/bash
sum(){
s=`expr $1 + $2 `
echo $s
}
res=`expr $(sum 2 3) \* 2`
echo $?,$res
自定义函数
#!/bin/bash
#自定义函数
service_index(){
echo "servicectl "
return 1
}
service_version(){
grep "CentOS.*release 7." /etc/centos-release > /dev/null && echo "centos7"
grep "CentOS.*release 6." /etc/centos-release > /dev/null && echo "centos6"
grep "CentOS.*release 5." /etc/centos-release > /dev/null && echo "centos5"
}
#调用前面两个函数
servicectl(){
[[ -z $1 || -z $2 ]] && service_index
[ $(service_version) = "centos7" ] && systemctl $2 ${1}.service || service $1 $2
}
[root@localhost ~]# source demo02.sh
[root@localhost ~]# servicectl httpd start
shell数组
应用场景包括
获取数组长度
获取元素长度
遍历元素
元素切片
元素替换
元素删除
...
数组定义方法
方法一
数组名=(value0 value1 value2...)
方法二
数组名=([0]=value [1]=value [2]=value...)
方法三
列表名=”value0 value1 value2 ...”
数组名=($列表名)
方法四
数组名[0]=”value”
数组包括的数据类型
数值类型
字符类型
使用“”或‘’定义
获取数组长度
${数组名[@或/或*]}
#读取某下标赋值
${数组名[下标]}
数组遍历
实例1
在数组中自加一输出结果
#!/bin/bash
num=(11 22 33 44 55)
for ((i=0;i<${#num[*]};i++))
do
let num[i]++
echo ${num[i]}
done
[root@localhost ~]# source demo03.sh
12
23
34
45
56
Shell脚本调试
echo命令
bash命令
语法
sh [-nvx] 脚本名
常用选项
-n:不执行脚本,仅检查语法。没有语法问题不显示任何内容,有问题提示报错
-v:执行脚本时,先显示脚本内容,然后执行脚本。存在错误时,给出错误提示
-x:将执行的脚本内容输出到屏幕上
set命令
set -x:开启调节模式
set +x:关闭调节模式
谢谢阅读!!!
文章名称:Shell编程——函数数组以及脚本调试(4)
URL地址:http://myzitong.com/article/ghdeec.html