
declare noexist end begin pre stu dir cmd=$1 i=-1 file{,name}
declare -a files=( "${@:2}" )
set --

eval -- "
$pre
$begin
"

while [[ -v files[++i] ]] && file=${files[i]} filename=${file##*/} ; do
 eval -- "$(
if [[ ! -e $file ]] ; then printf %s "$noexist"
elif [[ -d $file ]] ; then printf %s "$dir"
else printf %s "$cmd"
fi
 )"
done

eval -- "
$end
$stu
"
