A primeira razão que vem à mente é que você deve, em geral, seguir as práticas aceitas. A maneira como um shell é chamado controla os arquivos de configuração que ele lê. De man bash :
When bash is invoked as an interactive login shell,
or as a non-interactive shell with the --login
option, it first reads and executes commands from the
file /etc/profile, if that file exists. After read‐
ing that file, it looks for ~/.bash_profile,
~/.bash_login, and ~/.profile, in that order, and
reads and executes commands from the first one that
exists and is readable. The --noprofile option may
be used when the shell is started to inhibit this
behavior.
When a login shell exits, bash reads and executes
commands from the file ~/.bash_logout, if it exists.
e
When an interactive shell that is not a login shell
is started, bash reads and executes commands from
/etc/bash.bashrc and ~/.bashrc, if these files exist.
This may be inhibited by using the --norc option.
The --rcfile file option will force bash to read and
execute commands from file instead of
/etc/bash.bashrc and ~/.bashrc.
A maioria das distribuições colocará aliases globais, variáveis e opções de shell em /etc/bash.bashrc , porque eles estão configurados para fazer a maioria dos shells interativos, não-login . Portanto, se você mudar para o uso de login , você perderá todas essas configurações. Isso poderia causar problemas no downstream se, por exemplo, certas variáveis globais não foram configuradas corretamente etc.
Além disso, a configuração padrão é para executar um shell de login quando você logar e não-login shells depois disso. Isso facilita a configuração de variáveis de ambiente ou trabalhos simples que devem ser executados uma vez nos arquivos de configuração do shell de login (por exemplo, ~/.profile ), A vantagem é que eles só serão executados uma vez, quando você efetuar login. em> all suas shells de login de shells, então esses comandos serão executados várias vezes, o que é i) não elegante e ii) pode retardar seu sistema se esses comandos forem intensivos em recursos.
Por fim, muitas vezes é necessário ter ambientes diferentes configurados se o usuário estiver efetuando login por meio do ssh, por exemplo, e se ela estiver fisicamente presente e abrindo um terminal. Ao fazer todos os seus shells, você perde a capacidade de fazer essa distinção.
Agora, não pode ser tão ruim assim, já que, se eu entendi corretamente, o aplicativo terminal da OSX inicia os shells de login por padrão. No entanto, o OSX foi projetado dessa forma, de modo que os possíveis problemas que mencionei foram presumivelmente resolvidos. Esse não será o caso se você modificar sua configuração do Linux para fazê-lo você mesmo.