#!/bin/bash
todo=(docker1 docker2 docker3)
taskid=()
function check(){
if [ "$1" = "docker1"];then
taskid+=("install_docker1")
elif [ "$1" = "docker2"];then
taskid+=("install_docker2")
else
[ -f "/tmp/mb.sh" ] && taskid=+("install_docker3")
fi
}
function run(){
for ido in ${todo[@]};do
check $ido
done
echo ${taskid[@]}
echo '{
"num":'\"${#taskid[@]}\"'
}'
}
case $1 in
*)
run
;;
esac
大概如上的代码,现在想向一个数组里添加数据问题,如果函数复杂点,貌似就 check 的数据就没加上,是不是用法有问题
1
SoloCompany 2017-11-16 22:51:13 +08:00
你就不能注意一下格式吗,要知道 shell 的方括号可不是你想的那么简单,右方括号前面缺少空格科室会死人的
|
2
ysicing OP @SoloCompany 哦哦,抱歉了,没注意
|