尝试的脚本,要找出folder_list 比file_list 多的元素,并且用一个数组保存起来 #check if there are any files added t=0 for m in "${folder_list[@]}" do for l in "${file_list[@]}" do if [ "$m" == "$l" ]; then unset $folder_list[$m] fi done
done
凤凰求蛊
浏览 1798回答 1
1回答
绝地无双
unset 不能这么用,需要指定数组索引,也就是数组下标,而不是数组的值,你可以这样干:#check if there are any files addedfolder_list=(1 2 3 4 5)file_list=(1 2)declare -a result_listt=0flag=0echo folder_list=${folder_list[*]}echo file_list=${file_list[*]}for m in "${folder_list[@]}"dofor l in "${file_list[@]}"doif [ "$m" == "$l" ]; thenflag=1breakfidoneif [ $flag -eq 0 ]; thenresult_list[t]=$mt=$((t+1))elseflag=0fidoneecho result_list=${result_list[*]}弄个结果数组保存结果,把在file_list里找不到的folder_list值存到结果数组中。