尝试的脚本,要找出folder_list 比file_list 多的元素,并且用一个数组保存起来#check if there are any files addedt=0for m in "${folder_list[@]}"dofor l in "${file_list[@]}"doif [ "$m" == "$l" ]; thenunset $folder_list[$m]fidonedone
1 回答
绝地无双
TA贡献1946条经验 获得超4个赞
unset 不能这么用,需要指定数组索引,也就是数组下标,而不是数组的值,你可以这样干:
#check if there are any files added
folder_list=(1 2 3 4 5)
file_list=(1 2)
declare -a result_list
t=0
flag=0
echo folder_list=${folder_list[*]}
echo file_list=${file_list[*]}
for m in "${folder_list[@]}"
do
for l in "${file_list[@]}"
do
if [ "$m" == "$l" ]; then
flag=1
break
fi
done
if [ $flag -eq 0 ]; then
result_list[t]=$m
t=$((t+1))
else
flag=0
fi
done
echo result_list=${result_list[*]}
弄个结果数组保存结果,把在file_list里找不到的folder_list值存到结果数组中。
- 1 回答
- 0 关注
- 1797 浏览
添加回答
举报
0/150
提交
取消