has_class() { if [ 1 -ne $# ] then logger -p syslog.err 'has_class: no class given' exit 1 fi local CHECK=" ${CLASSES}" test "${CHECK}" != "${CHECK% ${1} *}" } ## # add one or more classes given as arguments to this function # Using ${@} here effectively eliminates multiple spaces between # the classnames. # A class might be defined multiple times...I don't eliminate these # duplicates as this might involve calling uniq which is unneccesary # overhead as I see no harm in duplicates now. # set_class() { [ -z "${CLASSES}" ] && { CLASSES="${@}"; export CLASSES; } || CLASSES="${CLASSES} ${@}" } # vim: set ts=4 sw=4: