SHELL脚本
发布时间:2020-12-15 17:04:45 所属栏目:安全 来源:网络整理
导读:shll作为脚本语言,也有自己的函数。但是他有许多与其他语言不同的特点 定义 在这里,定义了一个函数,有2个参数,第一个:数组,第二个:单个值。 这个函数的作用是判断第二个参数的值是否在第一个参数(数组)里面。 #!/bin/sh # 定义函数 # _FUN function
定义在这里,定义了一个函数,有2个参数,第一个:数组,第二个:单个值。 #!/bin/sh
# 定义函数
# _FUN
function contain() {
array=$1
value=$2
for _arr_val in ${array[@]}
do
ta_array=`echo ${_arr_val} | cut -d ',' -f 1`
tb_value=`echo ${value} | cut -d ',' -f 1`
if [ "${ta_array}" = "${tb_value}" ];then
g_contain_rs="1"
else
g_contain_rs="0"
fi
done
}
调用ARR_RS_B=("AAA","BBB","CCC")
SYSJOB_NAME="AAA"
contain ${ARR_RS_B} ${SYSJOB_NAME}
获取函数返回值目前在shell脚本中,获取函数的返回值有2种方式 第一种使用 $? 来获取上一个函数的返回值 # 函数的返回值一般使用1或者0
function test_fun() {
if 条件;then
return 1
else
return 0
fi
}
test_fun
echo "$?"
这种方法简洁易用,但是有一个致命的问题:在循环调用方法的时候,$?只能获取到第一次被调用的函数的返回值。 如何避免这种问题?可以使用全局变量。如同在上文【定义】中,使用全局变量g_contain_rs来获取最新的函数调用返回值。 g_contain_rs=""
function test_fun() {
if 条件;then
g_contain_rs=1
else
g_contain_rs=0
fi
}
echo "$g_contain_rs"
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |