• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 451
  • Last Modified:

How to add unique folder name to a array in Bash

Following is the details of my program:
containsElement: function which will decide if the 2nd arg contains the 1st arg or not

#!/bin/bash
containsElement () {
  local e
  for e in "${@:2}"; do [[ "$e" == "$1" ]] && return 0; done
  return 1
}

    CL_HOME=${CL_HOME:=/var/lib/data/omfs/certvs/crls/current/crl}
       ARRAY=()
        for i in `find ${CL_HOME} -iname "*.crl"`
          do
            mydir=`dirname $i`
            containsElement "${mydir}" "${Array[@]}"
            if [ $? -eq 1 ]; then
                ARRAY+=("${Array[@]}" "{mydir}")
            fi
        done

        for mydir in `echo ${Unix[@]}`
        do
        #do something with teh variable $mydir
             echo ${mydir}
        done
But all the folders are getting added and i am left with a array with duplicate entries.
0
pvinodp
Asked:
pvinodp
1 Solution
 
ozoCommented:
ARRAY=(`for i in ${ARRAY[@]} ; do echo $i ; done | sort -u`)
0
 
pvinodpAuthor Commented:
thats a crisp solution.
0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now