150 likes | 267 Views
Introduction to UNIX. G. Customizing the UNIX Environment. Customizing the UNIX Environment. Performance Objectives 1 . Describe the purpose of "Dot" files 2. Add a path variable to the . cshrc file 3. Re-source a dot file ( source )
E N D
Introduction to UNIX G. Customizing the UNIX Environment Customizing the UNIX Environment
Customizing the UNIX Environment Performance Objectives 1. Describe the purpose of "Dot" files 2. Add a path variable to the .cshrc file 3. Re-source a dot file (source) 4. Define basic Shell Variables (PATH, SHELL, TERM, HOME) 5. Define the minimal content for the .login File (stty, setenv) 6. View Your Environment (env, stty all) 7. List aliases. 8. Temporarily disable an alias (unalias). 9. Change C-shell features with toggles (noclobber, ignoreeof, notify) Customizing the UNIX Environment
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. Customizing the UNIX Environment
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. Customizing the UNIX Environment
Content of .cshrc • A typical .cshrc file contains: • set path=(. ~/bin /usr/ucb /usr/bin /usr/local/bin) • set term=vt100 • set history=30 • set ignoreeof • alias rm rm -i • alias lo logout Customizing the UNIX Environment
Content of .login • A typical .login file contains: • stty erase ^H (tset -I -Q -e^H -k^U) • setenv EDITOR vi • setenv PRINTER lw Customizing the UNIX Environment
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 Customizing the UNIX Environment
Environment Commands • setenv sets global environment variables: • setenv VARIABLE value • stty sets terminal I/O characteristics: • stty option • set defines predefined variables: • set variable=value • alias redefines commands: • alias name “command list” Customizing the UNIX Environment
Displaying Global Environment • printenv displays values of global environment variables. host% printenv(environment of login session) HOME=/scc/users/chttspit SHELL=/bin/csh TERM=vt100 USER=chttspit PATH=.:/scc/users/chttspit/bin:/usr/ucb:/usr/bin:/usr/local/bin LOGNAME=chttspit PWD=/usr/local/scc/stts EDITOR=vi Customizing the UNIX Environment
Display the Local Environment • set displays C-Shell's local variables. 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 vt100 user chttspit Customizing the UNIX Environment
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 Customizing the UNIX Environment
Displaying Aliases • Use alias to display all aliases. host% alias lo logout rm rm -i • Use unalias to deactivate an alias: host% unalias rm Customizing the UNIX Environment
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 Customizing the UNIX Environment
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. Customizing the UNIX Environment
End of Module Complete Customizing the UNIX Environment Exercises Customizing the UNIX Environment