Built-in csh and tcsh Commands
@ | @ [variable[n]=expression]
Assign the value of the arithmetic expression to variable or to the nth element of variable if the index n is specified. With no variable or expression specified, print the values of all shell variables (same as set). Expression operators as well as examples are listed under "Expressions" earlier in this chapter. Two special forms also are valid:
| |||||||
# | #
Ignore all text that follows on the same line. # is used in shell scripts as the comment character and is not really a command. | |||||||
#! | #!shell
Used as the first line of a script to invoke the named shell (with optional arguments). Not supported in all shells. For example:
| |||||||
: | :
Null command. Returns an exit status of 0. The colon command often is put as the first character of a Bourne- or Korn-shell script to act as a place-holder to keep a # (hash) from accidentally becoming the first character. | |||||||
alias | alias [name [command]]
Assign name as the shorthand name, or alias, for command. If command is omitted, print the alias for name; if name also is omitted, print all aliases. Aliases can be defined on the command line, but more often they are stored in cshrc so that they take effect upon logging in. (See the sample cshrc file earlier in this chapter.) Alias definitions can reference command-line arguments, much like the history list. Use !* to refer to all command-line arguments, !^ for the first argument, !\!:2 for the second, !$ for the last, and so on. An alias name can be any valid Unix command; however, you lose the original command's meaning unless you type \name. See also unalias and the "Special Aliases in tcsh" section. ExamplesSet the size for xterm windows under the X Window System:
Show aliases that contain the string ls:
Run nroff on all command-line arguments:
Copy the file that is named as the first argument:
Use the regular ls, not its alias: % | |||||||
alloc | alloc
Print totals of used and free memory. | |||||||
bg | bg [jobIDs]
Put the current job or the jobIDs in the background. ExampleTo place a time-consuming process in the background, you might begin with: % and then issue any one of the following: % | |||||||
bindkey | bindkey [options] [key] [command]
tcsh only. Display all key bindings, or bind a key to a command. Options
| |||||||
break | break
Resume execution following the end command of the nearest enclosing while or foreach. | |||||||
breaksw | breaksw
Break from a switch; continue execution after the endsw. | |||||||
built-ins | built-ins
tcsh only. Print all built-in shell commands. | |||||||
bye | bye
tcsh only. Same as logout. | |||||||
case | case pattern :
Identify a pattern in a switch. | |||||||
cd | cd [dir]
Change working directory to dir. Default is user's home directory. If dir is a relative pathname but is not in the current directory, the cdpath variable is searched. See the sample cshrc file earlier in this chapter. tcsh includes some options for cd: tcsh options
| |||||||
chdir | chdir [dir]
Same as cd. Useful if you are redefining cd. | |||||||
complete | complete [string [word/pattern/list[:select]/[suffix]]]
tcsh only. List all completions, or, if specified, all completions for string (which may be a pattern). Further options can be specified. Options for word
Options for listVarious lists of strings can be searched for possible completions. Some list options include:
selectselect should be a glob pattern. Completions are limited to words that match this pattern. suffix is appended to all completions. | |||||||
continue | continue
Resume execution of nearest enclosing while or foreach. | |||||||
default | default :
Label the default case (typically last) in a switch. | |||||||
dirs | dirs [options]
Print the directory stack, showing the current directory first. See also popd and pushd. All options except -l, -n, and -v are tcsh extensions. Options
| |||||||
echo | echo [-n] string
Write string to standard output; if -n is specified, the output is not terminated by a newline. Unlike the Unix version (/bin/echo) and the Bourne-shell version, the C shell's echo doesn't support escape characters. See also echo in "Linux Commands", and "bash: The Bourne-Again Shell". | |||||||
echotc | echotc [options] arguments
tcsh only. Display terminal capabilities, or move cursor on screen, depending on the argument. Options
Arguments
| |||||||
else | else
Reserved word for interior of if ... endif statement. | |||||||
end | end
Reserved word that ends a foreach or switch statement. | |||||||
endif | endif
Reserved word that ends an if statement. | |||||||
endsw | endsw
Reserved word that ends a switch statement. | |||||||
eval | eval args
Typically, eval is used in shell scripts, and args is a line of code that may contain shell variables. eval forces variable expansion to happen first and then runs the resulting command. This "double scanning" is useful any time shell variables contain input/output redirection symbols, aliases, or other shell variables. (For example, redirection normally happens before variable expansion, so a variable containing redirection symbols must be expanded first using eval; otherwise, the redirection symbols remain uninterpreted.) ExamplesThe following line can be placed in the login file to set up terminal characteristics: set noglob eval `tset -s xterm` unset noglob The following commands show the effect of eval: % Another example of eval can be found under alias. | |||||||
exec | exec command
Execute command in place of current shell. This terminates the current shell, rather than create a new process under it. | |||||||
exit | exit [(expr)]
Exit a shell script with the status given by expr. A status of zero means success; nonzero means failure. If expr is not specified, the exit value is that of the status variable. exit can be issued at the command line to close a window (log out). | |||||||
fg | fg [jobIDs]
Bring the current job or the jobIDs to the foreground. jobID can be %job-number. ExampleIf you suspend a vi editing session (by pressing Ctrl-Z), you might resume vi using any of these commands: % | |||||||
filetest | filetest -op files
tcsh only. Apply op file-test operator to files. Print results in a list. See "File inquiry operators" for the list of file-test operators. | |||||||
foreach | foreach name (wordlist)
commands Assign variable name to each value in wordlist and execute commands between foreach and end. You can use foreach as a multiline command issued at the C-shell prompt (first of the following examples), or you can use it in a shell script (second example). ExamplesRename all files that begin with a capital letter: % Check whether each command-line argument is an option or not:
| |||||||
glob | glob wordlist
Do filename, variable, and history substitutions on wordlist. No \ escapes are recognized in its expansion, and words are delimited by null characters. glob typically is used in shell scripts to hardcode a value so that it remains the same for the rest of the script. | |||||||
goto | goto string
Skip to a line whose first nonblank character is string followed by a colon and continue execution below that line. On the goto line, string can be a variable or filename pattern, but the label branched to must be a literal, expanded value and must not occur within a foreach or while. | |||||||
hashstat | hashstat
Display statistics that show the hash table's level of success at locating commands via the path variable. | |||||||
history | history [options]
Display the list of history events. (History syntax is discussed earlier, in "Command History.") Options
ExampleTo save and execute the last five commands: history -h 5 > do_it source do_it | |||||||
hup | hup [command]
tcsh only. Start command but make it exit when sent a hangup signal, which is sent when shell exits. By default, configure shell script to exit on hangup signal. | |||||||
if | if
Begin a conditional statement. The simple format is: if (expr) cmd There are three other possible formats, shown side-by-side: if (expr) then if (expr) then if (expr) then cmds cmds1 cmds1 endif else else if (expr) then cmds2 cmds2 endif else cmds3 endif In the simplest form, execute cmd if expr is true; otherwise do nothing (redirection still occurs; this is a bug). In the other forms, execute one or more commands. If expr is true, continue with the commands after then; if expr is false, branch to the commands after else (or branch to after the else if and continue checking). For more examples, see "Expressions" earlier in this chapter, shift, or while. ExampleTake a default action if no command-line arguments are given:
| |||||||
jobs | jobs [-l]
List all running or stopped jobs; -l includes process IDs. For example, you can check whether a long compilation or text format is still running. Also useful before logging out. | |||||||
kill | kill [options] ID
Terminate each specified process ID or job ID. You must own the process or be a privileged user. This built-in is similar to /bin/kill described in "Linux Commands" but also allows symbolic job names. Stubborn processes can be killed using signal 9. Options
ExamplesIf you've issued the following command: % you can terminate it in any of the following ways: 45% | |||||||
limit | limit [-h] [resource [limit]]
Display limits or set a limit on resources used by the current process and by each process it creates. If no limit is given, the current limit is printed for resource. If resource also is omitted, all limits are printed. By default, the current limits are shown or set; with -h, hard limits are used. A hard limit imposes an absolute limit that can't be exceeded. Only a privileged user may raise it. See also unlimit. Option
Resource
LimitA number followed by an optional character (a unit specifier).
| |||||||
log | log
tcsh only. Consult the watch variable for list of users being watched. Print list of those who are presently logged in. If - is entered as an option, reset environment as if user had logged in with new group. | |||||||
login | login [user|-p]
Replace user's login shell with /bin/login. -p is used to preserve environment variables. | |||||||
logout | logout
Terminate the login shell. | |||||||
ls-F | ls-F [options] [files]
tcsh only. Faster alternative to ls -F. If given any options, invokes ls. | |||||||
newgrp | newgrp [-] [group]
tcsh only. Change user's group ID to specified group ID, or, if none is specified, to original group ID. If - is entered as an option, reset environment as if user had logged in with new group. Must have been compiled into the shell; see the version variable. | |||||||
nice | nice [+n] command
Change the execution priority for command, or, if none is given, change priority for the current shell. (See also nice in "Linux Commands".) The priority range is -20 to 20, with a default of 4. The range seems backward: -20 gives the highest priority (fastest execution); 20 gives the lowest. Only a privileged user may specify a negative number.
| |||||||
nohup | nohup [command]
"No hangup signals." Do not terminate command after terminal line is closed (i.e., when you hang up from a phone or log out). Use without command in shell scripts to keep script from being terminated. (See also nohup in "Linux Commands".) | |||||||
notify | notify [jobID]
Report immediately when a background job finishes (instead of waiting for you to exit a long editing session, for example). If no jobID is given, the current background job is assumed. | |||||||
onintr | onintr label
onintr - "On interrupt." Used in shell scripts to handle interrupt signals (similar to bash's trap 2 and trap Example
| |||||||
popd | popd [options]
Remove the current entry from the directory stack, or remove the nth entry from the stack and print the stack that remains. The current entry has number 0 and appears on the left. See also dirs and pushd. Options
| |||||||
printenv | printenv [variable]
Print all (or one specified) environment variables and their values. | |||||||
pushd | pushd name
pushd [options] The first form changes the working directory to name and adds it to the directory stack. The second form rotates the nth entry to the beginning, making it the working directory. (Entry numbers begin at 0.) With no arguments, pushd switches the first two entries and changes to the new current directory. The +n, -l, -n, and -v options behave the same as in popd. See also dirs and popd. Examples% | |||||||
rehash | rehash
Recompute the internal hash table for the PATH variable. Use rehash whenever a new command is created during the current session. This allows the PATH variable to locate and execute the command. (If the new command resides in a directory not listed in PATH, add this directory to PATH before rehashing.) See also unhash. | |||||||
repeat | repeat n command
Execute n instances of command. ExamplesPrint three copies of memo: % Read 10 lines from the terminal and store in item_list: % Append 50 boilerplate files to report: % | |||||||
sched | sched [options]
tcsh only. Without options, print all scheduled events. The second form schedules an event. time should be specified in hh:mm form (e.g., 13:00). Options
| |||||||
set | set variable=value
set [option] variable[n]=value Set variable to value, or if multiple values are specified, set the variable to the list of words in the value list. If an index n is specified, set the nth word in the variable to value. (The variable must already contain at least that number of words.) With no arguments, display the names and values of all set variables. See also "Predefined Shell Variables" earlier in this chapter. Option
Examples% | |||||||
setenv | setenv [name [value]]
Assign a value to an environment variable name. By convention, name is uppercase. value can be a single word or a quoted string. If no value is given, the null value is assigned. With no arguments, display the names and values of all environment variables. setenv is not necessary for the PATH variable, which is automatically exported from path. | |||||||
settc | settc capability value
tcsh only. Set terminal capability to value. | |||||||
setty | setty [options] [+|-mode]
tcsh only. Do not allow shell to change specified tty modes. By default, act on the execute set. Options
| |||||||
shift | shift [variable]
If variable is given, shift the words in a wordlist variable (i.e., name[2] becomes name[1]). With no argument, shift the positional parameters (command-line arguments) (i.e., $2 becomes $1). shift is typically used in a while loop. See additional example under while. Example
| |||||||
source | source [-h] script [args]
Read and execute commands from a C-shell script. With -h, the commands are added to the history list but aren't executed. For tcsh only, arguments can be passed to the script and are put in argv. Example
| |||||||
stop | stop [jobIDs]
Suspend the current background jobs or the background jobs specified by jobIDs; this is the complement of Ctrl-Z or suspend. | |||||||
suspend | suspend
Suspend the current foreground job; same as Ctrl-Z. Often used to stop an su command. | |||||||
switch | switch
Process commands depending on the value of a variable. When you need to handle more than three choices, switch is a useful alternative to an if-then-else statement. If the string variable matches pattern1, the first set of commands is executed; if string matches pattern2, the second set of commands is executed; and so on. If no patterns match, execute commands under the default case. string can be specified using command substitution, variable substitution, or filename expansion. Patterns can be specified using the pattern-matching symbols *, ?, and []. breaksw is used to exit the switch. If breaksw is omitted (which is rarely done), the switch continues to execute another set of commands until it reaches a breaksw or endsw. Following is the general syntax of switch, side-by-side with an example that processes the first command-line argument: switch (string) | |||||||
telltc | telltc
tcsh only. Print all terminal capabilities and their values. | |||||||
time | time [command]
Execute a command and show how much time it uses. With no argument, time can be used in a shell script to time the script. | |||||||
umask | umask [nnn]
Display file creation mask or set file creation mask to octal nnn. The file creation mask determines which permission bits are turned off. With no nnn, print the current mask. | |||||||
unalias | unalias pattern
Remove all aliases whose names match pattern from the alias list. See alias for more information. | |||||||
uncomplete | uncomplete pattern
tcsh only. Remove completions (specified by complete) whose names match pattern. | |||||||
unhash | unhash
Remove internal hash table. The shell stops using hashed values and searches the path directories to locate a command. See also rehash. | |||||||
unlimit | unlimit [-h] [resource]
Remove the allocation limits on resource. If resource is not specified, remove limits for all resources. See limit for more information. With -h, remove hard limits. This command can be run only by a privileged user. | |||||||
unset | unset variables
Remove one or more variables. Variable names may be specified as a pattern, using filename metacharacters. Does not remove read-only variables. See set. | |||||||
unsetenv | unsetenv variable
Remove an environment variable. Filename matching is not valid. See setenv. | |||||||
wait | wait
Pause in execution until all child processes complete, or until an interrupt signal is received. | |||||||
watchlog | watchlog
tcsh only. Same as log. Must have been compiled into the shell; see the version shell variable. | |||||||
where | where command
tcsh only. Display all aliases, built-ins, and executables named command. | |||||||
which | which command
tcsh only. Report which version of command will be executed. Same as the executable which, but faster, and checks tcsh built-ins. | |||||||
while | while (expression)
commands As long as expression is true (evaluates to nonzero), evaluate commands between while and end. break and continue can be used to terminate or continue the loop. Example
|