#@(#)cshrc 2.2 04/22/2003 - IT Services Dept., TSRI
#@(#)cshrc 2.2 04/22/2003     Christoph Weber, Mike Nguyen
#@(#)cshrc 2.1 01/11/2002     Mike Nguyen, Christoph Weber, Michael Yavno
#@(#)cshrc 1.1 04/16/1998     Mike Nguyen
#########################################################################
#
#                       TSRI - IT Services - UNIX - FAQ
#
#      A .cshrc   FILE WITH EXPLANATION
#
#  This page is embedded with explanations WITHOUT being
#  in-depth technical to serve a broad range of audience.
#  This web page has unusual format, with pound signs (#) at beginning of
#  each line; because it is written as a C-Shell script. This web page
#  can be saved as a text file and can be executed in a UNIX workstation.
#
# If you are reading this file as a Web page from
###  Long Version:    http://www.scripps.edu/rc/unix/faq/cshrc_explain.html
# The color appeared in this Web page are for clarity purposes only.
# They do NOT mean links as in other common web pages.
#
### IN A NUTSHELL:
.cshrc stands for C-SHell Run C ommands. It is an initial setup file for
#  both interactive and non-interactive C-Shells. It is used to set YOUR
#  environment VARIABLES to CUSTOMIZED values, per your OWN need.
#  These variables are used by lots of programs on your system to define
#  certain default operations. You can customize your computing environment
#  and create your own commands by setting the values of these variables.
#
~/.cshrc   is executed each time a new C-Shell is started.
###  This file .cshrc is processed BEFORE .login   file when you login.
.cshrc should define variables and aliases quietly without any output.
#
#  This file can NOT replace UNIX classes or MANual pages. It simply
#  explains line by line the most popular variables so that you can learn
#  quickly and will be able to configure your own computing environment.
#  We strongly recommend you read this page first to familiar yourself
#  with these BASIC - MUST KNOW tidbits before calling IT Services's Help Desk.
#
### HOW TO USE THIS WEB PAGE:
#      (1) Save your current .cshrc   file first.
#           Ex.: % cp     ~/.cshrc    ~/.cshrc_save_2000_12_31
#      (2) Save this web page (with Save As ...) in text format; then
#      (3) Rename text file as .cshrc and put it in your home directory.
#          Ex.: % mv     ~/cshrc_explain     ~/.cshrc
#      (4) Log out and login again to activate your new .cshrc file.
#
# This file is also available in ASCII text format at:
#            /tsri/misc/newuser/cshrc_explain
#
### HOW TO USE THE FILE   /tsri/misc/newuser/cshrc_explain :
#     (1) Save your current .cshrc   file.
#          Ex.: % cp -p     ~/.cshrc     ~/.cshrc_save_2000_12_31
#     (2) Copy cshrc_explain into your home directory as .cshrc :
#          Ex.: % cp     /tsri/misc/newuser/cshrc_explain     ~/.cshrc
#     (3) Log out and login again to activate your new .cshrc file.
#
###  Short Version:    The short version of this file - without the
# explanations - is available at:      /tsri/misc/newuser/cshrc.template
#

#########################################################################
### A. EXPLANATION of SPECIAL CHARACTERS, KEYWORDS, and SYNTAX
#########################################################################
#
# 1.   # = (pound sign) comment character.
#    Lines beginning with a pound sign (#) are called "commented out".
#    These lines are ignored by your computer. Either the line is a
#    comment/information for you to read or the line has been turned OFF.
#    You must remove the '#' sign at beginning of a line
#    to turn ON that line. Remmber :
#       a. Turn ON only what you need.
#       b. Verify that the condition is true before turn that variable ON.
#    EX. After you verified /opt/netscape is existed on your system;
#   this line is originally OFF: #setenv MOZILLA_HOME  /opt/netscape

#   you deleted the pound sign
#   to turn this line to ON: setenv MOZILLA_HOME  /opt/netscape
#
# 2.   ; = (semicolon) used as a command separator.
#              To let you put one command after another command.
#
# 3.   . = (single dot) means the current directory.
#              The directory your are IN right now.
#
# 4.   .. = (double dot) means the parent directory (one level up).
#              Your current directory is residing inside this directory.
#
# 5.   ~       = (tilde) means your home directory .
#                The directory you are in at the instant you just login.
#
# 6.   \     = (back slash) at end of the line means that line still
#   continues into next line. EX. The "set path (...)" command rule
#   requires that it  must complete itself in ONE line. Most of the
#   time, in real world, the content of path can not be fit in one
#   line ON YOUR SCREEN. Therefore, the (\) back slash allows you to BREAK
#   "set path" line into many lines for being organized and easier for
#   human to read, without breaking its rule.
#
# 7.   if = starting point of a conditional program paragraph.
#       "if" statement must end with "endif". Syntax of "if" paragraph:
#
#         if ( an_expression ) then
#              Line(s) of Commands AND/OR Variables set right here
#         else [ OPTIONAL, "if" can be setup  with or without "else"]
#              Line(s) of Commands AND/OR Variables set right here
#         endif
#
# 8.   switch = starting point of a control program paragraph.
#       "switch" statement includes one or many pairs of "case/breaksw",
#        one "default", and must end with "endsw".
#       Syntax of "switch" paragraph:
#
#         switch ( a_string )
#            case a_label:
#                Line(s) of Commands AND/OR Variables set right here
#             breaksw
#            default:
#                Line(s) of Commands/Variables/Info set right here
#        endsw
#
# 9.   source = to read and execute commands from a configuration file.
#   After updating your ~/.cshrc    ; you have two ways to activate it.
#   (1) Logout then login so that C-Shell can read the new .cshrc file.
#   (2) Use source command to read the new .cshrc in each window:
#   EX.   %   source ~/.cshrc <CR>
#
#   You can also use source to read other config. file inside your ~/.cshrc
#   EX.   source /tsri/msi/cshrc
#   please take extra caution and avoid to abuse this practice.
#   Note: Source your friend's .cshrc inside your ~/.cshrc   is a bad idea.
#   If your friend's .cshrc got something you need; check it out
#   and put that item into your own .cshrc file at the correct place.
#
# 10.   Platforms Dependents:
#
# UNIX workstations are available from many manufacturers.
# The unique, specific hardware of their systems are called PLATFORMS.
# Some example platforms are Compaq (used to be DEC)
# Hewlett packard (HP), Silicon Graphics, Inc. (SGI)
# SUN Microsystems, Inc (SUN), LINUX.
# One binary executable application - for example "netscape" - compiled on
# one UNIX platform will NOT run on another UNIX platform.
#
# 11.   Architectures Dependents:
#
# Each platform has many types of CPUs. They are called ARCHITECTURES.
# EX. SGI has R5K, R10K, R12K. SUN has sun4c, sun4d, sun4m, sun4u ...
# To SUN, they all are"SPARC", use "arch -k" to know a SUN's architecture.
# Compare with PC, its CPUs are: 286, 386, 486, pentium [1 2 3 4 ...]
# programs compiled on one architecture might or might NOT run on another,
# depending on many variables.
#
# 12.  OS Versions Dependents:
#
# Many systems with identical architecture can run many different
# Operating System VERSIONS among them.
# HP had a major OS change among HP-UX 9.X HP-UX 10.X, HP-UX 11.X.
# SGI had a major OS change among IRIX 4.X, IRIX 5.X, IRIX 6.X
# Sun had a major OS change between SunOS 4.X and Solaris.
# Compare with PC, its OSes are Window 3.X, WIN95, WIN98, WIN2000, NT,...
# One program compiled on one OS VERSION might or might NOT run on another.
#
# 13.   Conclusion:
# This ".cshrc with explanation  " is designed to be flexible, versatile,
# and intelligent as much as possible. So that you can login to
# most platforms and this .cshrc will know the differences and
# present to you a reasonably workable computing environment.
#
# IT Services Dept. welcomes all inputs and comments from you.
#

#########################################################################
### B. REAL SYNTAX OF .cshrc START FROM THIS POINT
#########################################################################
###
### From here to the end of this file:
### (1) Three pound signs ( ###) at beginning of line,
###     means the line is INFORMATION line.
### (2) One pound sign (#) at beginning of line,
###     means the line is TURNED OFF,
###     or in other word, it is called COMMENTED OUT.
###     You can remove the pound sign to TURN it ON when needed.
### WARNING: Turn ON only ONE line of a multiple-lines set;
### it will create SYNTAX errors and unpredictable result. Edit carefully !

set path = (/bin /usr/bin /sbin /usr/sbin /etc /usr/etc /usr/bsd /usr/ucb)

###
### 1. ENVIRONMENT VARIABLES:
###
### These variables are global, used by login shell and any processes
### spawned by the shell process. They are usually in UPPERCASE.
### Turn ON or defined by using setenv command:
### EX.     % setenv PRINTER a_printer_name <CR>
### Turn OFF by using unsetenv at system's prompt, or comment it out::
### EX.     % unsetenv PRINTER <CR>
### Use "% printenv <CR>" to see current settings of your ENV variables.
### Some common and widely used environment variables listed below.
###
### HOW TO TURN ON/OFF ENVIRONMENT VARIABLE:
###  (1) Comment out VAR you don't need by adding "#" to beginning of line.
###  (2) Turn ON variables you need by removing "#" at beginning of line.
###  (3) Use the same format to add other variables you need.

### USER: Identifying yourself.
setenv USER `whoami`

### HOSTNAME: Set HOSTNAME to your system's name.
setenv HOSTNAME `hostname`

### HOME: Set HOME to your home directory.
setenv HOME /home/`whoami`

### EDITOR: program to edit files. Other editors are ed, emacs, jot.
setenv EDITOR vi

### PAGER: Default program  when displaying more than 1 screenful of text.
setenv PAGER more

### PRINTER: Default printer to use if no printer is specified.
# setenv PRINTER your_local_printer_name_here

### FMHOME: Home of Frame Maker - A  word processing application.
# setenv FMHOME /tsri/frame

### NNTPSERVER: Default news server, used by news reader.
setenv NNTPSERVER news

### MANPATH: Default directories to search for MAN (manual) pages.
setenv MANPATH /usr/man:/usr/share/man
# setenv MANPATH /tsri/man:/tsri/gnu/man:$MANPATH

### MAIL: Where to find your mail - This is platform and OS dependent.
### Your mail program will find it correctly most of the time.
### Turn ON one line - ONLY when you needed.
# setenv MAIL /usr/spool/mail/`whoami`
# setenv MAIL /var/spool/mail/`whoami`
# setenv MAIL /var/mail/`whoami`

###
### 2. SHELL VARIABLES:
###
### These variables are LOCAL, used by login shell process only and not
### inherited by spawned processes. They are usually in lower CASE,
### defined by set command. Note: The three most used Environment
### Variables: USER, TERM, PATH are automatically
### imported to 3 corresponding Shell Variables: user, term, path.
### Turn ON or define by using set command:
### EX.      % set noclobber <CR>
### Turn OFF by using unset command:
### EX.     % unset noclobber <CR>
### Use "% set <CR>" to display current settings of your shell variables.
### Some common and widely used shell variables listed below.
###
### HOW TO TURN ON/OFF SHELL VARIABLES:
###  (1) Comment out VAR you don't need by adding "#" to beginning of line.
###  (2) Turn ON variables you need by removing "#" at beginning of line.
###  (3) Use the same format to add other variables you need.
###

### UMASK: Sets your file creation mask to xxx where xxx are 3 digits
### specifying the permissions when you create files and directories.
### Each digit controls a set of [rwx]  (Read, Write, eXecuting) for
### owner, group, and other users. Some sample settings:
###
### 002 = rwxrwxr-x    Trust everyone, collaborate between Labs:
###     I can write rwx, my group can write rwx, others can read r-x.
### 022 = rwxr-xr-x    Normal, popular mode:
###     I can write rwx, my group can read r-x, others can read r-x.
### 026 = rwxr-x--x    More security:
###     I can write rwx , my group can read r-x, others not allowed --x.
umask 022

### NOCLOBBER: prevents accidental remove when redirecting standard output.
set noclobber

### FILEC: FILEname Completion. If set, a partial filename followed by:
###  CTRL-d : lists ALL filenames that starts with preceding string.
###  ESC: replaces preceding string with longest unambiguous extension.
set filec

### HISTORY: Number of commands remembered by current shell.
set history = 100

### IGNOREEOF: ignore EOF - Don't allow CTRL-d means same thing as logout
set ignoreeof

### NOTIFY: Notifies you immediately when backgrounded jobs are completed:
set notify

### SAVEHIST: Number of commands saved between sessions, in ~/.history .
set savehist = 100

### PROMPT: Redefine your system's prompt. This variable sets your default
### prompt to something other than the boring old percentage sign %.
### Select 1 of the following 3 choices by removing the "#" sign(s).
### Note: Choice 2 and 3 are two-lines each:

###     (1) hostname %
# set prompt = "`hostname` % "

###     (2) hostname:/current_directory %
set prompt = "`hostname`:`pwd` % "
alias cd 'cd \!*; set prompt = "`hostname`:`pwd` % "'

###     (3) hostname:/current_directory history_number# %
# set prompt = "`hostname`:`pwd` \!% "
# alias cd 'cd \!*; set prompt = "`hostname`:`pwd` \\!% "'

###
### 3. NON-INTERACTIVE: Skip remaining setup if not an interactive shell
###

if ($?USER == 0 || $?prompt == 0) exit

### To distinguish the differences among UNIX platforms, we will create a
### new Variable name osv. osv stands for OS Version. It is not 100%
### appropriate. But it is for backward compatibility reason.
### osv will defines platform and OS Version of system currently IN USE.

### Next line [ set osv ] is an important global variable, leave it alone.
set osv = `uname -a | awk '{ print $1 substr($3,1,1) }'`

### Some software setups are more complex:
set archosv = `arch`$osv

###
### 4. PATH: Search Path Definition
###     PATH (part 1) bpath - Basic PATH for all UNIX systems
###
### path is a reserve word in .cshrc.
### path is a variable used to define default Search Path.
### path variable contains a list of directories.
### When you type a command at the system's prompt, C-Shell searches for
### the program of that command in these directories. Without
### a complete search path, C-Shell CANNOT find the command you type
### and displays an error message: "cmd_xyz: Command not found".
###
### The ORDER each directory appearing in the path is important:
### C-Shell reads the path's variable contents from LEFT to RIGHT,
### and searches for the command in these directories sequentially,
### and will STOP searching after the FIRST command found. Wrong ORDER of
### directories will give you WRONG command. In real life, there are
### many variants of one command existed in different directories. EX.:
### (1) By OS itself, like in SUN Solaris:
### /usr/bin/df VS /usr/xpg4/bin/df.
### (2) By customized environments, ex.: licenses, location of products.
### /tsri/suncompilers/Forte6/bin/cc VS /usr/ucb/cc.
### (3) By you. You collect freeware products, newest versions, etc...
### /home/johndoe/netscape/netscape VS /usr/bin/X11/netscape.
### /home/johndoe/PERL.999/perl VS /bin/perl.
### The differences among these commands might be insignificant or fatal.
### You must put the directories in correct ORDER in your path so that
### C-Shell can find your intended command when you type in a command.
###
### HOW TO UNDERSTAND SET PATH lines:
###
### (1) set path starts with "set path (", and ending with a close ") ".
### (2) set path rule requires it must be completed in ONE LINE.
### (3) We will use back slash \ to break set path into many lines.
### (4) $path = WHATEVER_defined_in_$path,_up_to_this_point, put it here.
###       EX. set path ( /specific/path/here   $path )
###       EX. set path ( /other/specific/path/here   $path )
###       EX. set path ( /more/specific/path/here   $path )
###       It can be cascaded like this forever.
### (5) All contents of 3 EX lines above can be written in another way:
###       EX. set path ( /more/specific/path/here \
###       /other/specific/path/here \
###       /specific/path/here   $path )
### Following above rules, you can change the ORDER of the
### directories inside the path for your own need.
###
### In order to make it easier to understand and to maintenance,
### we will create 3 more customized variables: bpath,gpath,lpath
### (1) bpath - Basic path : Includes all basic directories of UNIX OS.
### (2) gpath - Global path : All dirs supported multiple platforms.
### (3) lpath - Local path : Includes all directories created by yourself.
###
### In the end, your final default search path will include all above 3
### paths, plus some specific dirs of the UNIX platform you are using.
### In this file, by default, the final order will be:
### set path = ( $platform_specific_path, $lpath, $gpath, $bpath )

### (1) bpath - Define Basic path : (basic directories of any platform):
set bpath = (/bin /usr/bin /sbin /usr/sbin /etc /usr/etc /usr/bsd /usr/ucb)
set path = ( $bpath )

###
### 5. PATH (part 2) gpath - GLOBAL PATH, Not_Platform_Dependent PATH
###
### FYI: Executable files have three most popular formats:
### (1) binary: can be executed at correct PLATFORM, ARCHITECTURE, and OS.
### (2) shell script: can be executed anywhere.
###        - any platform/Architecture/OS - (if written correctly).
### (3) wrapper: can be executed anywhere.
###        - any platform/Architecture/OS - (if written correctly).
### wrapper is a smart shell script. It figures out what platform,
### architecture, and OS version in the background then executes the
### correct binary file. Ex. maker of Frame Maker.
### gpath is a good place for shell scripts and wrapper directories.

### (2) gpath - Define Global path : (support multiple platforms):
### If you donot know what it is;you donot need it. Add what you need only:

### /tsri/$osv/bin  : A collection of useful commands for EACH platform.
### /tsri/dmf/bin  : DMF archiver. See http://www.scripps.edu/rc/dmf
### /tsri/gnu  : GNU tools for all platforms.
### $FMHOME/bin  : Frame Maker, a powerful word processing application.
### Warning: If you use Frame Maker, $FMHOME/bin ; you must turn ON
### the line :"# setenv FMHOME /tsri/frame"
### in part B, number "1. ENVIRONMENT VARIABLES" above.

set gpath = ( \
# /tsri/$osv/bin \
# /tsri/dmf/bin \
# /tsri/gnu/$archosv/bin \
# $FMHOME/bin \
)

set path = ( $gpath $path )

###
### 6. PATH (part 3) lpath - Define your personal LOCAL PATH
###
### Suggestion: You should create directories for your often used osv:
### % mkdir ~/bin/HP-UXB ~/bin/IRIX6 ~/bin/SunOS5 ~/bin/Linux2
### and put your binary collection correctly in these directories.
### ~/bin/$osv   will get correct binary of that platform and OS for you.

### (3) lpath - Define Local path : (directories maintained by yourself):
### WARNING: putting the . (dot) in your path poses a security risk.

set lpath = ( \
   ~ \
# ~/bin \
# ~/local \
# ~/bin/$osv \
# . \
)

set path = ( $lpath $path )

###
### 7. PLATFORM DEPENDENCIES:
###
### At TSRI, there are several UNIX platforms available to users.
### This section will figure out WHAT PLATFORM of
### the UNIX system being IN USE; then it will define paths
### which are SPECIFIC to that PLATFORM only.
### Depending on your computing environment of your LAB, ie. like
### what kind of computers you are going to use: LINUX, SGI, SUN, ...;
### you need to inspect and to modify that platform paragraph below.
### We use the $osv in a switch/case to separate each platform.
###
### As of early 2003,
### osv distinguishes the following UNIX plaforms/flavors:
### HP-UXB IRIX5 IRIX6 IRIX646 OSF1V OSF1T SunOS5 Linux2
### HP-UXA, IRIX4, SunOS4 are dropped from the list.

switch( $osv )

### SGI IRIX ########################################################

case 'IRIX5':
case 'IRIX6':
case 'IRIX64':
case 'IRIX646':

### LIMIT Coredumpsize: Maximum size of a "Core Dump" (file).
### Generate by an aborted program, for debug purposes. When
### disks used to be small; a big core file can make a file system FULL.
limit coredumpsize 0

setenv TERM iris-ansi
setenv MANPATH /usr/share/catman:/usr/catman:/usr/freeware/man:$MANPATH
# setenv MANPATH /usr/gnu/catman:$MANPATH

### LD_LIBRARY_PATH must be one (1) line, separated by colons(:):
setenv LD_LIBRARY_PATH /usr/local/lib:/usr/lib:/usr/lib32
# setenv LD_LIBRARY_PATH /opt/rvplayer5.0:$LD_LIBRARY_PATH
setenv LD_LIBRARY64_PATH /usr/lib64

### SGI IRIX Default path:
set path = ( \
   /usr/bin/X11 /usr/local/bin /usr/freeware/bin \
   /usr/gnu/bin \
# /opt/rvplayer5.0 \    # streaming audio/video \
   $path )

### Your Netscape may live in different directory; verify before turn ON:
# setenv MOZILLA_HOME /var/netscape/communicator
# set path = ( $MOZILLA_HOME $path )

### For all SGI Compilers (Flexlm Net Licenses for C, C++, Fortran):
#   if ( -e /rc/ws/SGI/license.dat ) then
#      setenv LM_LICENSE_FILE /rc/ws/SGI/license.dat
### Next line ending with : is a work-around for the drop-last-char bug.
#      setenv LM_LICENSE_FILE /rc/ws/SGI/license.dat:
#   else
#      echo " SGI Compiler License not found !"
#      echo " Call IT Services Helpdesk X 4-9369."
#   endif

### For Accelrys InsightII (aka MSI or Biosym) License:
#   if ( -e /tsri/msi/cshrc ) then
#      source /tsri/msi/cshrc
#   else if ( -e /usr/msi/cshrc ) then
#      source /usr/msi/cshrc
#   else
#      echo " InsightII (Accelrys/MSI) License not found !"
#      echo " Call IT Services Helpdesk X 4-9369."
#   endif

###  Add YOUR OWN customized stuff for IRIX5, IRIX6  here:
###  End of Add YOUR OWN customized stuff for IRIX5, IRIX6.

breaksw

### SUN SOLARIS SunOS5 ##############################################

case 'SunOS5':

### LIMIT Coredumpsize: Maximum size of a "Core Dump" (file).
### Generate by an aborted program, for debug purposes. When
### disks used to be small; a big core file can make a file system FULL.
limit coredumpsize 0

set mychoice=openwin

setenv MANPATH /usr/local/man:$MANPATH
setenv OPENWINHOME /usr/openwin

### SUN SOLARIS Default path:
set path = ( \
   /usr/local/bin /usr/ccs/bin /usr/lib/lp \
   $OPENWINHOME/bin $OPENWINHOME/bin/xview \
# /tsri/grafx/bin/bin.sun4 \ # campus-wide shared software \
# /tsri/$osv/bin/tran/sun4/bin \ # ditto \
# /opt/rvplayer5.0 \ # streaming audio/video \
   $path )

# setenv MOTIFHOME /usr/dt
# setenv XMBINDDIR $MOTIFHOME/lib/bindings
# setenv XGLHOME /opt/SUNWits/Graphics-sw/xgl-3.0
# setenv XILHOME /opt/SUNWits/Graphics-sw/xil

### LD_LIBRARY_PATH must be one (1) line, separated by colons(:):
### If you do not know what it is; you do not need it.
### Add what you need only.
### Graphics: $XGLHOME/lib:$XILHOME/lib:$MOTIFHOME/lib
### Openwin: $OPENWINHOME/lib
### Basic: /usr/lib:/usr/local/lib

setenv LD_LIBRARY_PATH /usr/lib:/usr/local/lib:$OPENWINHOME/lib

### Your Netscape may live in different directory; verify before turn ON:
# setenv MOZILLA_HOME /opt/NSCPcom
# setenv MOZILLA_HOME /opt/SUNWns6
# set path = ( $MOZILLA_HOME $path )

### For SUN Compilers - Site Licenses for C, C++, Fortran:
### SUN WORKSHOP 3.0: /tsri/suncompilers/SUNWspro
### SUN WORKSHOP 5.0: /tsri/suncompilers/SUNWspro-5.0
### SUN WORKSHOP 6.0: /tsri/suncompilers/Forte6
### Pick your choice one of the above versions.
###
### (1). Example for SUN WORKSHOP 6.0
###
# setenv FORTE6HOME /tsri/suncompilers/Forte6
# setenv MANPATH $FORTE6HOME/man:$MANPATH
### Add $FORTE6HOME/lib to LD_LIBRARY_PATH
# setenv LD_LIBRARY_PATH $FORTE6HOME/lib:$LD_LIBRARY_PATH
### Add $FORTE6HOME/bin to path.
# set path = ( $FORTE6HOME/bin $path )
###
### (2). Setup License for SUN WORKSHOP 6.0 (optional)
###
### Most of the time, you do not need to turn ON this B section.
### Set LM_LICENSE_FILE, additional to turn section A ON, only when needed.
#   if ( -e $FORTE6HOME/license_dir/forte.license ) then
#      setenv LM_LICENSE_FILE $FORTE6HOME/license_dir/forte.license
#   else
#      echo " SUN Compiler License not found !"
#      echo " Call IT Services Helpdesk X 4-9369."
#   endif

###  Add YOUR OWN customized stuff for SUN SOLARIS here:
###  End of Add YOUR OWN customized stuff for SUN SOLARIS.

breaksw

### HP HP-UXB 10.X 11.X #############################################

case 'HP-UXB':

setenv TERM hpterm
setenv LROMTERM hpterm

setenv MANPATH /usr/local/man:$MANPATH
# setenv MANPATH /opt/ansic/share/man:$MANPATH
# setenv MANPATH /opt/fortran/share/man:$MANPATH
# setenv MANPATH /opt/langtools/share/man:$MANPATH
# setenv MANPATH /opt/lrom/share/man:$MANPATH

### HP HP-UXB Default Path:
set path = ( \
   /usr/bin/X11 /usr/local/bin /usr/vue/bin /usr/contrib/bin \
   /usr/ccs/bin /usr/lib/netsvc/yp /opt/lrom/bin \
   /opt/ansic/bin /opt/fortran/bin /opt/langtools/bin \
# /tsri/soft/bin/$osv \
   $path )

###  Add YOUR OWN customized stuff for HP HP-UXB here:
###  End of Add YOUR OWN customized stuff for HP HP-UXB.

breaksw

### COMPAQ (DEC) OSF1T OSF1V ########################################

case 'OSF1T':
case 'OSF1V':

setenv MANPATH /usr/local/man:$MANPATH

limit stacksize 8M
limit datasize 500000

### OSF1T / OSF1V Default Path:
set path = ( \
   /usr/local/bin \
   $path )

###  Add YOUR OWN customized stuff for OSF1T OSF1V here:
###  End of Add YOUR OWN customized stuff for OSF1T OSF1V.

breaksw

### LINUX Redhat Linux2 ###############################################
case 'Linux2':

setenv MANPATH /usr/local/man:$MANPATH
setenv HOST `/bin/hostname`

### Portland compiler setup:
# setenv PGI /usr/pgi

### Redhat Linux2 Default Path:
set path = ( \
   /usr/local/bin \
# $PGI/linux86/bin \
# /tsri/$archosv/bin/ \
   $path )

###  Add YOUR OWN customized stuff for Redhat Linux2 here:
###  End of Add YOUR OWN customized stuff for Redhat Linux2.

breaksw

### DEFAULT PLATFORM ################################################
default:

   echo " ERROR: Case statement in .cshrc didn't identify platform!"
   echo " Call IT Services Helpdesk X 4-9369."

endsw

###
### 8. MULTI-PLATFORM APPLICATIONS: #################################
###

### GCG (aka Wisconsin package) sequence analysis software: #########
#   if ( -f /usr/gcg/gcgstartup ) then
#      source /usr/gcg/gcgstartup
#      gcg
#   endif

### Cambridge Structural Database (CSD) : ###########################
# setenv CSDHOME /tsri/csd
# set path = ( $CSDHOME/bin $path )
# setenv CSDPDBHOME /tsri/pdb/struct
# setenv CSDPDBFILESEARCHPATH /tsri/pdb/%n.pdb
# setenv MANPATH $CSDHOME/man:$MANPATH

### AVS and AVS Express Licenses : ##################################
# limit descriptors 128
#   if ( -e /tsri/avs/share/license.dat ) then
#      setenv LM_LICENSE_FILE /tsri/avs/share/license.dat
#   else
#      echo " AVS License not found !"
#      echo " Call IT Services Helpdesk X 4-9369."
#   endif
# setenv AVS_PATH /tsri/avs/$archosv/avs
# alias avs '/$AVS_PATH/bin/avs'

###
### 9. ALIAS - Define your own "short cut" or "custom made" commands -
###
### Aliasing is a method to abbreviate long commands, or
### to make standard commands to behave differently the way you like it.
### SYNTAX: alias Short_Name 'Real_command in_quote'
### EX1: Custom-made a long command often used into a new alias: cgap
### alias cgap 'cat /dir/abc|grep xyz|awk '{print $1}'|print '
### EX2: Make remove (rm) command to ask you before removing any file:
### alias rm 'rm -i'
###
###   (1) An alias can be an ASCII character, a number or a short word.
###   (2) Make sure alias is unique and DIFFERENT from all UNIX commands.
###    Otherwise, your alias will un-intentionally replace a UNIX command.
###    EX: Donot "alias lp blah"= You won't be able to print (lp) any more.
###   (3) Log out and login again to activate your alias in .cshrc file.
###   (4) Use alias to setup an alias temporarily: % alias ls 'ls -F'
###   (5) Use command unalias to undo an alias: % unalias ls

###
### -i means Interactive, query user if this clobbers existing file.
###
#alias cp           'cp -i'
#alias mv           'mv -i'
#alias rm           'rm -i'
#alias del          'rm -i'

#alias a            alias
#alias h            'history | tail -20'
#alias u             unalias

#alias ^L           clear
#alias list          cat
#alias lock         lockscreen
#alias m             more
#alias mroe        more
#alias type         more

#alias .            'echo $cwd'
#alias ..           'set dot=$cwd;cd ..'
#alias ,            'cd $dot '

#alias dir          ls
#alias la           'ls -a'
#alias ll           'ls -la'
#alias ls           'ls -F'

#alias pd           dirs
#alias po           popd
#alias pp           pushd

#alias +w           'chmod go+w'
#alias -w           'chmod go-w'
#alias x             'chmod +x'

#alias j            'jobs -l'

#alias bye          logout
#alias ciao         logout
#alias adios        logout

#alias punt         kill
#alias r            rlogin
#alias run          source

#alias lp1          'lpr -P1'
#alias lq1          'lpq -P1'
#alias lr1          'lprm -P1'

#alias edit         textedit

#alias help         man
#alias key          'man -k'
#alias mkae         make

#alias display      'setenv DISPLAY \!*":0"'
#alias findn        'find . -name \!* -print'
#alias finds        'find . -size +\!* -print'

### END ###