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

Attachment: signature.asc
Description: PGP signature

Reply via email to