-if tty -s || [ "${0:0:1}" = "-" -o "$1" = "force" ]; then
+if [ -t 0 -o "${0:0:1}" = "-" -o "$1" = "force" ]; then
# Remember if nocaseglob was on.
shopt -q nocaseglob
nocg=$?
# Source them all in the right order.
sourced=
for i in $deps; do
- [ -e "$profile_d/$i" ] || continue
- [ "${sourced/ $i /}" = "$sourced" ] || continue
- . "$profile_d/$i"
- sourced="$sourced $i "
+ for j in $profile_d/{,*/}$i; do
+ [ -e "$j" ] || continue
+ k="${j##$profile_d/}"
+ [ "${sourced/ $k /}" = "$sourced" ] || continue
+ . "$j"
+ sourced="$sourced $k "
+ break
+ done
done
# Maybe turn nocaseglob back on.
# Reset LC_ALL.
LC_ALL=$lc_all
- unset i d n dep deps profile_d path required unsorted sourced
+ unset i j k d n dep deps profile_d path required unsorted sourced
unset lc_all nullglob nocg
# Don't inherit failure from the last script.