There are two kinds of startup scripts that Sage reads when starting:
The bash shell script $DOT_SAGE/sagerc (with the default value of DOT_SAGE, this is ~/.sage/sagerc) is read by $SAGE_ROOT/spkg/bin/sage-env after Sage has set its environment variables. It can be used to override some of the environment variables determined by Sage, or it can contain other shell commands like creating directories. This script is sourced not only when running Sage itself, but also when running any of the subcommands (like sage --python, sage -b or sage -i <package>). In particular, setting PS1 here overrides the default prompt for the Sage shell sage --sh.
This script is run with the Sage directories in its PATH, so executing hg for example will run the Mercurial inside Sage.
The default location of this file can be changed using the environment variable SAGE_RC_FILE.
The Sage script $DOT_SAGE/init.sage (with the default value of DOT_SAGE, this is ~/.sage/init.sage) contains Sage commands to be executed every time Sage starts. If you want symbolic variables y and z in every Sage session, you could put
in this file.
The default location of this file can be changed using the environment variable SAGE_STARTUP_FILE.