Here contains the only bash scripting I think I will ever do, for setting up my environment easily on different machines.
.bash_profileThis file contains environment variable that only need to be set once and only runs at the beginning of a login shell. Set evironment variables here. Other files namedhostname.bash_profilecontain evironment variables for specific hosts..bashrcThis file contains the bash specific definitions that gets run in every shell (technically only non-login shells, but we source this in .bash_profile). The shell will inherit the environment variables from .bash_profile so they don't need to be set here again. Put here bash aliases and bash functions that you will need. Similarly to abovehostname.bashrccontains host specific definitions..ssh-configcorresponds to~/.ssh/configand contains ssh configs, default usernames and host aliases..gitconfigis the user's git config. Contains email, github username, mergetools, editor etc. This has higher precedence than the system wide git config but less precedence than repo config files or git environment variables..git-prompt.sha downloaded script that puts git branch information in the shell prompt.