Introduction to UNIX G Customizing the UNIX Environment















- Slides: 15

Introduction to UNIX G. Customizing the UNIX Environment June 1, 1999 Customizing the UNIX Environment 1

Customizing the UNIX Environment Performance Objectives 1. 2. 3. 4. 5. 6. 7. 8. 9. Describe the purpose of "Dot" files Add a path variable to the. cshrc file Re-source a dot file (source) Define basic Shell Variables (PATH, SHELL, TERM, HOME) Define the minimal content for the. login File (stty, setenv) View Your Environment (env, stty all) List aliases. Temporarily disable an alias (unalias). Change C-shell features with toggles (noclobber, ignoreeof, notify) June 1, 1999 Customizing the UNIX Environment 2

Customizing Your Environment • • • “Dot” files define the environment. Usually in your home directory. The. login is executed only once at log in. The. cshrc is executed for each C-Shell. The. pinerc file defines the mail environment. The. forward file routes mail to another host. June 1, 1999 Customizing the UNIX Environment 3

What happens when you log in? • • You enter a login name and password. If the default shell is /usr/bin/tcsh, the T-Shell is set as your command interpreter. The T-Shell executes the commands in your ~/. cshrc file or ~/. tcshrc file. Then the T-Shell executes the commands in your ~/. login file. June 1, 1999 Customizing the UNIX Environment 4

Content of. cshrc • A typical. cshrc file contains: set path=(. ~/bin /usr/ucb /usr/bin /usr/local/bin) è set term=vt 100 è set history=30 è set ignoreeof è alias rm rm -i è alias lo logout è June 1, 1999 Customizing the UNIX Environment 5

Content of. login • A typical. login file contains: stty erase ^H (tset -I -Q -e^H -k^U) è setenv EDITOR vi è setenv PRINTER lw è June 1, 1999 Customizing the UNIX Environment 6

Changing “dot” Files • • • Templates are placed in new mode accounts Configuration changes made interactively are valid only for the current session. Changes made to. login or. cshrc are not active in the system until that file is "sourced": host% source. login June 1, 1999 Customizing the UNIX Environment 7

Environment Commands • setenv sets global environment variables: è • stty sets terminal I/O characteristics: è • stty option set defines predefined variables: è • setenv VARIABLE value set variable=value alias redefines commands: è June 1, 1999 alias name “command list” Customizing the UNIX Environment 8

Displaying Global Environment • printenv displays values of global environment variables. host% printenv (environment of login session) HOME=/scc/users/chttspit SHELL=/bin/csh TERM=vt 100 USER=chttspit PATH=. : /scc/users/chttspit/bin: /usr/ucb: /usr/bin: /usr/local/bin LOGNAME=chttspit PWD=/usr/local/scc/stts EDITOR=vi June 1, 1999 Customizing the UNIX Environment 9

Display the Local Environment • set displays C-Shell's local variables. June 1, 1999 host% set (environment "local" to current shell) cwd /usr/local/scc/stts history 30 ignoreeof (cannot use ^D to logout) noclobber (confirmation of file redirect overwrite) noglob (metacharacters * [] {} ? ~ not expanded) path (. /scc/users/chttspit/bin /usr/ucb /usr/bin … ) shell /bin/csh term vt 100 user chttspit Customizing the UNIX Environment 10

Display Terminal Characteristics • Use stty to display terminal characteristics. host% stty speed 9600 baud; evenp erase = ^H -inpck imaxbel -tab crt Special Characters erase ^H kill ^U intr ^C eof ^D June 1, 1999 Customizing the UNIX Environment 11

Displaying Aliases • Use alias to display all aliases. host% alias lo logout rm rm -i • Use unalias to deactivate an alias: host% unalias rm June 1, 1999 Customizing the UNIX Environment 12

C Shell Toggles - noclobber • Produces an error if redirects (>) are made to existing files è appends (>>) are made to non-existing file è • • • Can be used interactively with set and unset Can be put into. login or. cshrc Presence can be viewed with set command June 1, 1999 Customizing the UNIX Environment 13

C Shell Toggles • • • ignoreeof -- Shell ignores EOF from terminals. Protects against accidentally killing a C shell by typing CTRL-D. noglob -- Inhibits filename substitution. Used in scripts once filenames are obtained and no further expansion is desired. notify -- Shell notifies you as jobs are completed, rather than waiting until a prompt. June 1, 1999 Customizing the UNIX Environment 14

End of Module Complete Customizing the UNIX Environment Exercises June 1, 1999 Customizing the UNIX Environment 15