Re-Executing Commands



next up previous contents index
Next: Command Line Editing Up: Interactive Shell Tips Previous: Interactive Shell Tips

Re-Executing Commands

While none of us gets the respect he or she deserves, Unix at least listens and remembers what we say-as witnessed by the C and K shell's history command. This command not only recalls your previous commands but also lets you re-execute and even repair them (better than going around saying, ``Gee I wish I had said that.''):
       

% history   	You issue the history (or his) command.    
30 ls   	Here's your list.    
31 cd comphy/book/chapters   	   
32 ftp bigblue   	   
33 mail   	   
34 print malebox   	   
35 history   	The history command above.   
%    	   

Notice that the commands are listed in the numerical order in which they have been issued during the present login. As a result, the last one, number 35, is at the bottom of the list. Some uses of this list are:


REPEAT COMMANDS
!!
Repeat last command (csh).
!n
Repeat command number n (csh).
!pattern
Repeat command starting with pattern (csh).
^ old^ new^
Change old to new in last command.
!n:s/old/new/
Repeat command n with substitution (csh).
r
Repeat last command (ksh).
r n
Repeat command number n (ksh).
r pattern
Repeat command starting with pattern (ksh).

Here are some examples which show that if you know history, you may relive it:

% history   	Tell me my last commands.   
 ls   	This is the 30th command since login.   
cd comphy/book/chapters ftp bigblue
mail

print malebox
history This is the command given last. % Your turn. % !! Repeat last command (or r).
history Unix tells you what's going on.
cd comphy/book/chapters Here's your history again.
ftp bigblue
mail

print malebox
history
history 2 history's since you repeated it. % !31 Repeat command #31. 31 cd comphy/book/chapters Unix tells you what's going on. % Your turn. % !f Repeat previous f... command. 32 ftp bigblue Command #32 is being repeated. ^ male^ mail^ Correcting spelling of male. print mailbox Corrected command. % !31/book/BOOK Rerun # 31, substitute for book. % cd comphy/BOOK/chapters The corrected command.



next up previous contents index
Next: Command Line Editing Up: Interactive Shell Tips Previous: Interactive Shell Tips