Modifying .cshrc and .login

You can modify your working environment immediately by typing commands at the command line, but changes made that way disappear as soon as you log out. To make sure that a command is run each time you log in, add it to one of your shell's startup files using a text editor such as vi or emacs. The changes take effect the next time you log in.

Some guidelines for modifying your startup files are given below. Follow them to avoid making trips to your system administrator after you've messed up a startup file to the point where you can't log in:

  • Before modifying a startup file, make a copy:

    % cp .cshrc cshrc.orig             (or)
    % cp .login login.orig

    That way, you can restore it later, if necessary:

    % cp cshrc.orig .cshrc             (or)
    % cp login.orig .login
  • Before adding a command to a startup file, try it from the command line to make sure that it works.

  • Make one change at a time. If you change several things at once and something goes wrong, you'll have a hard time tracking down the problem.

  • The shell treats lines that begin with # as comments and ignores them. Use this feature to add comments that document your modifications. These comments will help you remember why you made your changes when you review your startup files later on.

  • Don't blithely delete commands you don't understand; they might be important. If you want to see what happens when a particular command is not executed, turn it into a comment by putting a # in front of it. If, later on, you want to undo the change, just remove the #.

  • After modifying a startup file, try it out. But don't do that by logging out and logging back in—establish a separate login session instead. That way, if there is a problem, you find out immediately, but you still have your original login session (running in your original environment), so that you can fix it. This is especially important if you introduce a serious error into a startup file that prevents further logins! You can use rlogin or telnet to log in again without terminating your current login session, pop up another xterm window (if you're using the X Window System), or even go to another terminal.

    Verify that you can log in successfully and that your changes have the desired effect. If the shell seems to process only part of a startup file when you log in, be alert for error messages, and try to determine at what point in the execution of the file commands stop being processed. You will probably find a command with an error in it right before that point.

  • Finally, as you gain experience modifying .cshrc and .login, you'll know when to ignore the preceding guidelines. For example, you may modify a startup file and feel confident it's error free. You can then use the source command to tell your current shell to reprocess it, rather than logging in again:

    % source .cshrc                    (or)
    % source .login

Get Using csh & tcsh now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.