bashマニュアルから
エイリアスの定義と使用に関する規則はやや混乱しています。Bashは、その行でコマンドを実行する前に、少なくとも1行の入力を常に読み取ります。エイリアスは、コマンドが実行されたときではなく、読み取られたときに展開されます。したがって、別のコマンドと同じ行に表示されるエイリアス定義は、入力の次の行が読み取られるまで有効になりません。その行のエイリアス定義に続くコマンドは、新しいエイリアスの影響を受けません。この動作は、関数が実行されるときの問題でもあります。 エイリアスは、関数定義自体が複合コマンドであるため、関数の実行時ではなく、関数定義の読み取り時に展開されます。結果として、 関数で定義されたエイリアスは、その関数が実行されるまで利用できません。安全のため、エイリアス定義は常に別の行に配置し、複合コマンドではエイリアスを使用しないでください。
「関数が実行されるときではなく、関数定義が読み取られるときにエイリアスが展開される」と「関数が定義されたエイリアスは、その関数が実行されるまで使用できない」という2つの文は相反するようです。
それぞれの意味を説明できますか?
.bashrc
一番上のファイルのエイリアスにしか出会っていないので、実際には上記の情報は必要ありません。