📄 ch11_12.htm
字号:
<HTML><!--Distributed by F --><HEAD><TITLE>[Chapter 11] 11.12 Pass History to Another Shell </TITLE><METANAME="DC.title"CONTENT="UNIX Power Tools"><METANAME="DC.creator"CONTENT="Jerry Peek, Tim O'Reilly & Mike Loukides"><METANAME="DC.publisher"CONTENT="O'Reilly & Associates, Inc."><METANAME="DC.date"CONTENT="1998-08-04T21:36:15Z"><METANAME="DC.type"CONTENT="Text.Monograph"><METANAME="DC.format"CONTENT="text/html"SCHEME="MIME"><METANAME="DC.source"CONTENT="1-56592-260-3"SCHEME="ISBN"><METANAME="DC.language"CONTENT="en-US"><METANAME="generator"CONTENT="Jade 1.1/O'Reilly DocBook 3.0 to HTML 4.0"><LINKREV="made"HREF="mailto:online-books@oreilly.com"TITLE="Online Books Comments"><LINKREL="up"HREF="ch11_01.htm"TITLE="11. The Lessons of History"><LINKREL="prev"HREF="ch11_11.htm"TITLE="11.11 Picking Up Where You Left Off "><LINKREL="next"HREF="ch11_13.htm"TITLE="11.13 Shell Command-Line Editing "></HEAD><BODYBGCOLOR="#FFFFFF"TEXT="#000000"><DIVCLASS="htmlnav"><H1><IMGSRC="gifs/smbanner.gif"ALT="UNIX Power Tools"USEMAP="#srchmap"BORDER="0"></H1><MAPNAME="srchmap"><AREASHAPE="RECT"COORDS="0,0,466,58"HREF="index.htm"ALT="UNIX Power Tools"><AREASHAPE="RECT"COORDS="467,0,514,18"HREF="jobjects/fsearch.htm"ALT="Search this book"></MAP><TABLEWIDTH="515"BORDER="0"CELLSPACING="0"CELLPADDING="0"><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch11_11.htm"TITLE="11.11 Picking Up Where You Left Off "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 11.11 Picking Up Where You Left Off "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><B><FONTFACE="ARIEL,HELVETICA,HELV,SANSERIF"SIZE="-1">Chapter 11<BR>The Lessons of History</FONT></B></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch11_13.htm"TITLE="11.13 Shell Command-Line Editing "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 11.13 Shell Command-Line Editing "BORDER="0"></A></TD></TR></TABLE> <HRALIGN="LEFT"WIDTH="515"TITLE="footer"></DIV><DIVCLASS="SECT1"><H2CLASS="sect1"><ACLASS="title"NAME="UPT-ART-2190">11.12 Pass History to Another Shell </A></H2><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-13090"></A><ACLASS="indexterm"NAME="AUTOID-13093"></A><ACLASS="indexterm"NAME="AUTOID-13096"></A><ACLASS="indexterm"NAME="AUTOID-13099"></A><ACLASS="indexterm"NAME="AUTOID-13102"></A>The C shell, Korn shell, and <EMCLASS="emphasis">bash</EM> automatically savea history of the commands you type.You can add your own commands to the <EMCLASS="emphasis">csh</EM> and <EMCLASS="emphasis">bash</EM> history listswithout retyping them.Why would you do that?</P><ULCLASS="itemizedlist"><LICLASS="listitem"><PCLASS="para">You might have a set of commands that you want to be able to recalland reuse every time you log in.This can be more convenient than aliases because you don't have to thinkof names for the aliases.It's handier than a shell script if you need to do a series of commandsbut they aren't always in the same order.</P></LI><LICLASS="listitem"><PCLASS="para">You might have several shells running (say, in several windows) and want to<SPANCLASS="link">pass the history from one shell to another shell (<ACLASS="linkend"HREF="ch11_11.htm"TITLE="Picking Up Where You Left Off ">11.11</A>)</SPAN>.</P></LI></UL><PCLASS="para">Here's an example.Use the <EMCLASS="emphasis">csh</EM> command <EMCLASS="emphasis">history -h</EM>,or the <EMCLASS="emphasis">bash</EM> command <EMCLASS="emphasis">history -w</EM>,to save the history from a shell to a file.Edit the file to take out commands you don't want:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen"><BCLASS="emphasis.bold">C shell</B> <BCLASS="emphasis.bold">bash</B>% <CODECLASS="userinput"><B>mail -s "My report" bigboss</B></CODE> $ <CODECLASS="userinput"><B>mail -s "My report" bigboss</B></CODE> ... ...% <CODECLASS="userinput"><B>history -h > history.std</B></CODE> $ <CODECLASS="userinput"><B>history -w history.std</B></CODE>% <CODECLASS="userinput"><B>vi history.std</B></CODE> $ <CODECLASS="userinput"><B>vi history.std</B></CODE> <ICLASS="lineannotation">...Clean up history... ...Clean up history...</I></PRE></BLOCKQUOTE></P><PCLASS="para"> Read that file into another shell's history list withthe <EMCLASS="emphasis">csh</EM> command <EMCLASS="emphasis">source -h</EM>or the <EMCLASS="emphasis">bash</EM> command <EMCLASS="emphasis">history -r</EM>:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen"><BCLASS="emphasis.bold">C shell</B> <BCLASS="emphasis.bold">bash</B>% <CODECLASS="userinput"><B>source -h history.std</B></CODE> $ <CODECLASS="userinput"><B>history -r history.std</B></CODE>% <CODECLASS="userinput"><B>!ma</B></CODE> $ <CODECLASS="userinput"><B>!ma</B></CODE>mail -s "My report" bigboss mail -s "My report" bigboss</PRE></BLOCKQUOTE></P><PCLASS="para">Of course, you can also use <EMCLASS="emphasis">bash</EM><SPANCLASS="link">interactive command-line editing (<ACLASS="linkend"HREF="ch11_13.htm"TITLE="Shell Command-Line Editing ">11.13</A>)</SPAN>on the saved commands.</P><DIVCLASS="sect1info"><PCLASS="SECT1INFO">- <SPANCLASS="authorinitials">JP</SPAN></P></DIV></DIV><DIVCLASS="htmlnav"><P></P><HRALIGN="LEFT"WIDTH="515"TITLE="footer"><TABLEWIDTH="515"BORDER="0"CELLSPACING="0"CELLPADDING="0"><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch11_11.htm"TITLE="11.11 Picking Up Where You Left Off "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 11.11 Picking Up Where You Left Off "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><ACLASS="book"HREF="index.htm"TITLE="UNIX Power Tools"><IMGSRC="gifs/txthome.gif"SRC="gifs/txthome.gif"ALT="UNIX Power Tools"BORDER="0"></A></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch11_13.htm"TITLE="11.13 Shell Command-Line Editing "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 11.13 Shell Command-Line Editing "BORDER="0"></A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172">11.11 Picking Up Where You Left Off </TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><ACLASS="index"HREF="index/idx_0.htm"TITLE="Book Index"><IMGSRC="gifs/index.gif"SRC="gifs/index.gif"ALT="Book Index"BORDER="0"></A></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172">11.13 Shell Command-Line Editing </TD></TR></TABLE><HRALIGN="LEFT"WIDTH="515"TITLE="footer"><IMGSRC="gifs/smnavbar.gif"SRC="gifs/smnavbar.gif"USEMAP="#map"BORDER="0"ALT="The UNIX CD Bookshelf Navigation"><MAPNAME="map"><AREASHAPE="RECT"COORDS="0,0,73,21"HREF="../index.htm"ALT="The UNIX CD Bookshelf"><AREASHAPE="RECT"COORDS="74,0,163,21"HREF="index.htm"ALT="UNIX Power Tools"><AREASHAPE="RECT"COORDS="164,0,257,21"HREF="../unixnut/index.htm"ALT="UNIX in a Nutshell"><AREASHAPE="RECT"COORDS="258,0,321,21"HREF="../vi/index.htm"ALT="Learning the vi Editor"><AREASHAPE="RECT"COORDS="322,0,378,21"HREF="../sedawk/index.htm"ALT="sed & awk"><AREASHAPE="RECT"COORDS="379,0,438,21"HREF="../ksh/index.htm"ALT="Learning the Korn Shell"><AREASHAPE="RECT"COORDS="439,0,514,21"HREF="../lrnunix/index.htm"ALT="Learning the UNIX Operating System"></MAP></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -