我有一个数组
宣布-a fruits =(" apple"" banana"" guava"" cherry"" mango"& #34;荔枝&#34)
我需要编写一个shell脚本,它可以采用多个参数(以逗号分隔)。它应该检查每个参数对阵数 - 如果参数不匹配它应该退出说明参数不在数组中。它应该返回所有无效的参数
例如/ dummy.sh胡萝卜,土豆,卷心菜
o / p:在阵列中找不到胡萝卜,土豆,卷心菜
例如2 ./dummy.sh banana,芒果 o / p banana,mango在列表中找到
答案 0 :(得分:1)
#!/usr/bin/bash
declare -a fruits=("apple" "banana" "guava" "cherry" "mango" "litchi")
IFS=, read -ra args <<< "$1"
for arg in "${args[@]}"
do
#echo "Searching for $arg"
found=0
for fruit in "${fruits[@]}"
do
if [[ $fruit == $arg ]]; then found=1; break; fi
done
if [[ $found == 0 ]]; then echo "$arg is not found"; break; fi
done