Event Specifiers

A history reference begins with a specifier indicating which event you're interested in. You can refer to events in several ways (see Table 6-1).

Table 6-1. History Event Specifiers

Specifier

Description

!!

Previous command

!n

Command n

!-n

n-th-to-last command

!str

Last command beginning with str

!?str?

Last command containing str

!#

The current command line typed so far

Examples of each of the history event specifiers are given below.

Recalling the Previous Command

The simplest history operator is !!, which repeats your most recent command. Suppose you're checking a printer queue occasionally, to see if a print job is done. Type the queue-checking command once, then use !! to repeat it:

% lpq -Plwb
% !!
lpq -Plwb
% !!
lpq -Plwb
% etc.

Referring to Commands by Number

If you know a command's event number, you can refer to it using that number. For example, !12 repeats command 12. If you don't know the event number, run the history command to review your history list. To reduce the burden on your memory and lessen the need to run history, you can arrange to display event numbers in your prompt. For example, you can set your prompt in ˜/.cshrc as shown below:

set prompt = "\! % "

The shell expands \! to the current event number each time it displays the prompt. This feature lets you see at a glance the event numbers for any recent commands still on your screen, so you can recall them more easily.

Events can be specified by their position relative to the current command. !-2 refers to ...

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.