Na verdade, seu .bashrc
é originado. No entanto, .bashrc
deve ser lido por shells interativos. Um shell que executa um script não é interativo.
No Ubuntu, .bashrc
verifica se a origem do shell é interativa e, de outro modo, interrompe a execução. Você deve encontrar esta linha para o começo:
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
Isso faz com que seu script pare de pesquisar o arquivo antes de ler sua função.
Você pode simplesmente anexar sua função a outro arquivo diferente de .bashrc
e ele deve funcionar bem. Se você insistir em usar .bashrc
, basta definir a variável PS1
como um valor fictício no seu script antes de obter .bashrc
.