| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| function tcar_checkFiles { |
| |
| |
| local ARGSS='i:,r,m:,n,d,e,f,h,x' |
| |
| |
| local ARGSL='mime:,is-versioned,match:,is-installed' |
| |
| |
| local -a CONDITION_COMMAND |
| local -a CONDITION_PATTERN |
| local -a CONDITION_MESSAGE |
| |
| |
| local COUNTER=0 |
| |
| |
| |
| |
| |
| local TCAR_ARGUMENTS='' |
| |
| |
| tcar_setArguments "${@}" |
| |
| # Redefine positional parameters using arguments variable. |
| eval set -- "${TCAR_ARGUMENTS}" |
| |
| # Look for options passed through positional parameters. |
| while true; do |
| |
| case "${1}" in |
| |
| -d ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| shift 1 |
| ;; |
| |
| -e ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| shift 1 |
| ;; |
| |
| -f ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| shift 1 |
| ;; |
| |
| -h ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| shift 1 |
| ;; |
| |
| -x ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| shift 1 |
| ;; |
| |
| -i | --mime ) |
| local MIME=${2} |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| shift 2 |
| ;; |
| |
| -m | --match ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| shift 2 |
| ;; |
| |
| -r | --is-versioned ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| shift 1 |
| ;; |
| |
| -n | --is-installed ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| shift 1 |
| ;; |
| |
| -- ) |
| shift 1 |
| break |
| ;; |
| |
| esac |
| done |
| |
| |
| |
| |
| local FILE='' |
| local FILES=${@} |
| |
| for FILE in ${FILES};do |
| |
| until [[ ${COUNTER} -eq ${ |
| |
| case ${CONDITION_COMMAND[${COUNTER}]} in |
| |
| "test" | "rpm" ) |
| ${CONDITION_COMMAND[${COUNTER}]} ${CONDITION_PATTERN[${COUNTER}]} ${FILE} \ |
| || tcar_printMessage "${FILE} ${CONDITION_MESSAGE[${COUNTER}]}" --as-error-line |
| ;; |
| |
| "centos-art" ) |
| |
| |
| |
| |
| tcar_setFnEnvironment ${CONDITION_PATTERN[${COUNTER}]} ${FILE} |
| ;; |
| |
| "file" ) |
| if [[ ! $(${CONDITION_COMMAND[${COUNTER}]} ${CONDITION_PATTERN[${COUNTER}]} ${FILE}) == "${MIME}" ]];then |
| tcar_printMessage "${FILE} ${CONDITION_MESSAGE[${COUNTER}]}" --as-error-line |
| fi |
| ;; |
| |
| "match" ) |
| if [[ ! ${FILE} =~ "${CONDITION_PATTERN[${COUNTER}]}" ]];then |
| tcar_printMessage "${FILE} ${CONDITION_MESSAGE[${COUNTER}]}" --as-error-line |
| fi |
| ;; |
| |
| * ) |
| tcar_printMessage "`gettext "The condition command provided isn't supported."`" --as-error-line |
| ;; |
| |
| esac |
| |
| COUNTER=$((${COUNTER} + 1)) |
| |
| done |
| |
| done |
| |
| } |
| |