shell 中判断值是否已经在数组中

1.
echo "${array[@]}" | grep -wq "$var" &&  echo "Yes" || echo "No"

2.
for i in ${array[@]}
do
   [ "$i" == "$var" ] && echo "yes"
done

3.
  1. test_array ()
  2. {
  3. y_n=$1

  4. arr=$2

  5. echo $(eval echo \${$arr[@]}) |\
  6. sed 's/ /\n/g' |\
  7. while read line 
  8. do
  9.         
  10.         if [ "$y_n" == "$line" ]
  11.                 then
  12.                 return 1
  13.                 break
  14.         else
  15.                 continue
  16.         fi
  17.         ((i++))
  18. done
  19. }

  20. test_array $var array


你可能感兴趣的:(LINUX系统开发)