shell自定义函数执行顺序

基础方法

#!/bin/bash
# 方法的执行顺序,以逗号分隔
sequence=step3,step1,step2

# 定义3个方法
step1()
{
echo "step1"
}
step2()
{
echo "step2"
}
step3()
{
echo "step3"
}

# 读取以逗号分隔的变量并存为列表
step_list=`echo ${sequence//,/ }`

# 逐行读取列表执行
echo -e "${step_list}" | while read line
do
	read -r step1 step2 step3 <<< $line
	${step1}
	${step2}
	${step3}
done

执行结果
在这里插入图片描述

进阶版本,函数存在传参,通过遍历执行

#!/bin/bash
# 方法的执行顺序,以逗号分隔
sequence=step3,step1,step2

# 定义3个方法
step1()
{
args1=$1
args2=$2
echo "$args1 $args2 step1"
}
step2()
{
args1=$1
args2=$2
echo "$args1 $args2 step2"
}
step3()
{
args1=$1
args2=$2
echo "$args1 $args2 step3"
}

# 读取以逗号分隔的变量并存为列表
step_list=`echo ${sequence//,/ }`

# 遍历列表和从字典取执行内容
for each_step in $step_list
do
	declare -A step_dict
	step_dict=([step1]="step1 step1 is" \
			   [step2]="step2 step2 is" \
			   [step3]="step3 step3 is")
	${step_dict[$each_step]}
done

执行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值