当前位置: 首页 > news >正文

Linux shell中的函数定义、传参和调用

Linux shell中的函数定义、传参和调用:

函数定义语法:

[ function ] functionName [()] {

}

示例:

#!/bin/bash# get limit
if [ $# -eq 1 ] && [ $1 -gt 0 ]; thenlimit=$1echo -e "\nINFO: input limit is $limit"
elselimit=-1echo -e "\nWARN: input limit for initDynamic is null!"
fihost_arr=()init(){host_arr[${#host_arr[@]}]=192.168.1.120host_arr[${#host_arr[@]}]=192.168.1.121host_arr[${#host_arr[@]}]=192.168.1.122
}reset(){host_arr=()
}showResult(){echo -e "------ show mode 1 -----"echo "${host_arr[@]}"echo -e "\n------ show mode 2 -----"for i in ${host_arr[@]}; doecho $idoneecho -e "\n------ show mode 3 -----"max=${#host_arr[@]}for ((i=0;i<$max;i++)); doecho ${host_arr[$i]};done
}function initDynamic () {for ((i=0,j=0;i<$1;i++)); doj=$(expr 120 + $i)host_arr[${#host_arr[@]}]=192.168.1.$jdone
}echo -e "\ninit result: "
reset
init
showResultecho -e "\ninitDynamic $limit result: "
reset
initDynamic $limit
showResultecho ""

执行结果如下:

http://www.lryc.cn/news/250776.html

相关文章:

  • YoloV8改进策略:基于RevCol,可逆的柱状神经网络的完美迁移,YoloV8的上分利器
  • 九章量子计算机:引领量子计算的新篇章
  • 什么是vue的计算属性
  • Linux中文件的打包压缩、解压,下载到本地——zip,tar指令等
  • C语言——深入理解指针(4)
  • Linux基础命令(超全面,建议收藏!)
  • LeetCode刷题---合并两个有序链表
  • SQL Server 2008 使用concat报错
  • 视频后期效果制作工具Mocha Pro 2022 Plugins mac中文版软件介绍
  • 人工智能时代:AIGC的横空出世
  • 基于ChatGPT等大模型快速爬虫提取网页内容
  • JavaScript WebAPI(三)(详解)
  • LeetCode哈希表:最长连续序列
  • SpringBoot+redis实现接口防刷
  • 5G承载网和大客户承载的演进
  • 智慧工地一体化解决方案(里程碑管理)源码
  • 熬夜会秃头——beta冲刺Day2
  • 【linux】信号——信号保存+信号处理
  • 雷军:我的程序人生路
  • Linux 磁盘分区处理
  • 利用ogr2ogr从PostGIS中导出/导入Tab/Dxf/Geojson等格式数据
  • 【深度优先】LeetCode1932:合并多棵二叉搜索树
  • monorepo多项目管理主流实现方式:1.learn + yarn/npm workspace 2.pnpm
  • 【斗罗二】暗杀霍雨浩行动,马小桃霸气回击,江楠楠首秀武魂兔兔
  • [ 蓝桥杯Web真题 ]-年度明星项目
  • Maven终端打包时报Unknown lifecycle phase “.test.skip=true“
  • Linux MIPI 调试中常见的问题
  • 使用极限网关助力 ES 集群无缝升级、迁移上/下云
  • RedisTemplate的配置和讲解以及和StringRedisTemplate的区别
  • 在oracle中的scn技术