#!/usr/bin/env bash set -u root=${1:?Usage: bash glob-options-demo.sh ROOT} default_empty=("$root"/empty/*.log) printf 'default empty matches: %d\n' "${#default_empty[@]}" printf ' <%s>\n' "${default_empty[@]}" shopt -s nullglob null_empty=("$root"/empty/*.log) printf 'nullglob empty matches: %d\n' "${#null_empty[@]}" shopt -s dotglob top_logs=("$root"/logs/*.log) printf 'dotglob top-level logs:\n' printf ' %s\n' "${top_logs[@]}" shopt -s globstar all_logs=("$root"/logs/**/*.log) printf 'globstar recursive logs:\n' printf ' %s\n' "${all_logs[@]}"