千家信息网

Shell编程——函数数组以及脚本调试(4)

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,Shell函数将命令序列按格式写在一起可方便重复使用命令序列Shell函数定义调用函数的方法 函数名 [参数1] [参数2]实例1两个数字求和通过sum(){}定义函数#!/bin/bashsum()
千家信息网最后更新 2025年02月04日Shell编程——函数数组以及脚本调试(4)

Shell函数

将命令序列按格式写在一起
可方便重复使用命令序列

Shell函数定义

调用函数的方法 函数名 [参数1] [参数2]

实例1

两个数字求和
通过sum(){}定义函数
#!/bin/bashsum(){ s=`expr $1 + $2 ` return $s}sum 2 3echo $?

#!/bin/bashsum(){ 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/bashnum=(11 22 33 44 55)for ((i=0;i<${#num[*]};i++))do  let num[i]++  echo ${num[i]}done
[root@localhost ~]# source demo03.sh 1223344556

Shell脚本调试

echo命令bash命令 语法  sh [-nvx] 脚本名 常用选项  -n:不执行脚本,仅检查语法。没有语法问题不显示任何内容,有问题提示报错  -v:执行脚本时,先显示脚本内容,然后执行脚本。存在错误时,给出错误提示  -x:将执行的脚本内容输出到屏幕上set命令  set -x:开启调节模式  set +x:关闭调节模式

谢谢阅读!!!

0