Você não precisa $include
do seu ~/.inputrc
, pois pode ler um arquivo inputrc a qualquer momento com
bind -f /path/to/global/inputrc
use o seu usual if [ -r file ]
com isso em vez de source
.
A página man de um shell de login interativo diz /etc/profile
e o primeiro encontrado de ~/.bash_profile
, ~/.bash_login
e ~/.profile
.
Para outros shells interativos, ele lê ~/.bashrc
e, para não-interativo, lê o arquivo $BASH_ENV
, se houver.
No seu caso, presumivelmente, você está usando um shell interativo sem logon para um emulador de terminal, portanto ~/.bashrc
é lido. Você pode ver o que acontece usando strace
e uma casa fictícia, por exemplo, em /tmp
.
$ touch /tmp/.inputrc /tmp/.bashrc
$ (unset BASH_ENV INPUTRC HISTFILE
HOME=/tmp strace -e open -o /tmp/out bash -i)
Isso mostra os seguintes arquivos sendo abertos (removi alguns por brevidade):
open("/tmp/.bashrc", O_RDONLY) = 3
open("/tmp/.bash_history", O_RDONLY) = -1 ENOENT
open("/tmp/.inputrc", O_RDONLY) = 3
open("/tmp/.bash_history", O_WRONLY|O_CREAT|O_TRUNC, 0600) = 3
Então o bash lerá .inputrc
após .bashrc
. Isso faz sentido, pois dá tempo para você definir INPUTRC
no seu arquivo.