Da página de manual bash
:
Bash attempts to determine when it is being run with its standard input
connected to a a network con‐nection, as if by the remote shell daemon,
usually rshd, or the secure shell daemon sshd. If bash
determines it is being run in this fashion, it reads and executes commands
from ~/.bashrc, if that file exists and is readable.
Ou seja. ~/.bashrc
será executado quando você invocá-lo via ssh
, independentemente de você ter um tty ou não.
Se você quiser que o seu .bashrc
seja executado somente quando estiver interativo, tente no topo:
# If not running interactively, don't do anything
[[ "$-" != *i* ]] && return
Se isso não funcionar, tente o seguinte:
[ -z "$PS1" ] && return