Put the aliases you want in a file called .bashrc in your home directory. To quote the man page: When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if that file exists. 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 ~/.bashrc. Actually, since only non-login shells run commands in .bashrc, it occurs to me that a good idea would be to move all your aliases and other options to .bashrc in your home directory, and have your .profile call .bashrc. Things like environment variables can probably stay in .profile since they are exported to all child shells.