Excerpts from Mike Frysinger's message of Wed Oct 13 20:51:35 +0200 2010: > path_exists() { > local opt=$1 > [[ ${opt} == -[ao] ]] && shift || opt="-a" > > # no paths -> return false > # same behavior as: [[ -e "" ]] > [[ $# -eq 0 ]] && return 1 > > local p r=0 > for p in "$@" ; do > [[ -e ${p} ]] > : $(( r += $? )) > done
1) Why check every path in both "and" and "or" cases? 2) Even simpler: for p; do [[ -e $p ]] ((r+=$?)) done > > case ${opt} in > -a) return $(( r != 0 )) ;; > -o) return $(( r == $# )) ;; > esac > } -- Amadeusz Żołnowski PGP key fpr: C700 CEDE 0C18 212E 49DA 4653 F013 4531 E1DB FAB5
signature.asc
Description: PGP signature