#!/bin/bash sanitizeFile() { shopt -s extglob string="$1" # Filenames can't contain / string="${string//\// }" if (( ${destinationfat32compat[$destination]} )) then # Filenames can't contain: string=${string//\?/ } string=${string//\\/ } string=${string/// } string=${string//:/ } string=${string//\*/ } string=${string//|/ } string=${string//\"/ } # Filenames can't begin or end with ' ' string=${string/#+( )/} string=${string/%+( )/} # Directory names can't begin or end with '.' if [[ $2 == dir ]] then string=${string/#+(.)/} string=${string/%+(.)/} fi fi echo "$string" }