| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| function tcar_checkFiles { |
| |
| |
| |
| local TEXTDOMAIN="${FUNCNAME}.sh" |
| local TEXTDOMAINDIR="${TCAR_SCRIPT_BASEDIR}/Scripts/Locales" |
| |
| |
| local -a CONDITION_COMMAND |
| local -a CONDITION_PATTERN |
| local -a CONDITION_MESSAGE |
| |
| |
| local COUNTER=0 |
| |
| OPTIND=1 |
| while getopts "i:,r,m:,n,d,e,f,h,x" OPTION "${@}"; do |
| |
| case "${OPTION}" in |
| |
| d ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| ;; |
| |
| e ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| ;; |
| |
| f ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| ;; |
| |
| h ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| ;; |
| |
| x ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| ;; |
| |
| i ) |
| local MIME=${OPTARG} |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| ;; |
| |
| m ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| ;; |
| |
| n ) |
| CONDITION_COMMAND[((++${ |
| CONDITION_PATTERN[((++${ |
| CONDITION_MESSAGE[((++${ |
| ;; |
| |
| esac |
| done |
| |
| |
| |
| shift $(( ${OPTIND} - 1 )) |
| |
| |
| |
| |
| local FILE='' |
| local FILES=${@} |
| |
| |
| |
| |
| if [[ -z ${FILES} ]];then |
| tcar_printMessage "`gettext "No file for processing found."`" --as-error-line |
| fi |
| |
| for FILE in ${FILES};do |
| |
| until [[ ${COUNTER} -eq ${ |
| |
| case ${CONDITION_COMMAND[${COUNTER}]} in |
| |
| "/usr/bin/test" | "/bin/rpm" ) |
| ${CONDITION_COMMAND[${COUNTER}]} ${CONDITION_PATTERN[${COUNTER}]} ${FILE} \ |
| || tcar_printMessage "${FILE} ${CONDITION_MESSAGE[${COUNTER}]}" --as-error-line |
| ;; |
| |
| "/usr/bin/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 |
| |
| } |
| |