189 8069 5689

Shell编程——函数数组以及脚本调试(4)-创新互联

Shell函数

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

Shell函数定义

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

实例1

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

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

创新互联2013年开创至今,先为忻州等服务建站,忻州等地企业,进行企业商务咨询服务。为忻州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
#!/bin/bash
sum(){
 s=`expr $1 + $2 `
 echo $s
}
res=`expr $(sum 2 3) \* 2`
echo $?,$res

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

自定义函数

#!/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:关闭调节模式

谢谢阅读!!!

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:Shell编程——函数数组以及脚本调试(4)-创新互联
本文来源:http://cdxtjz.cn/article/cdjppc.html

其他资讯