On Thu, Dec 30, 2021 at 08:46:16PM -0800, Kevin O'Gorman wrote:
> So I propose extending  the stanza near the end of .bashrc:
> if [ -f ~/.bash_aliases ]; then
>     . ~/.bash_aliases
> fi

That code was written by your operating system vendor, or by your
system administrator, or by you.  It's not something that comes from
upstream bash.

> by following it with
> for __bash_alias in ~/.bash_aliases.d/* ; do
>     if [ -f $__bash_alias ]; then
>         source $__bash_alias
>     fi
> done

You can edit the file yourself and make it work however you like.  You
have the right idea, but I'd write it like this:

if [[ -d ~/.bash_aliases.d ]]; then
    for f in ~/.bash_aliases.d/*; do
        [[ -f $f ]] && source "$f"
    done
fi

Variable expansions need to be quoted inside [ but not inside [[.

Reply via email to