📄 index.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><HTML><HEAD><TITLE>高级Bash脚本编程指南</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINKREL="NEXT"TITLE="序"HREF="preface.html"></HEAD><BODYCLASS="BOOK"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="BOOK"><ANAME="AEN1"></A><DIVCLASS="TITLEPAGE"><H1CLASS="TITLE"><ANAME="AEN2">高级Bash脚本编程指南</A></H1><H2CLASS="SUBTITLE">一本深入学习shell脚本艺术的书籍</H2><H3CLASS="AUTHOR"><ANAME="AEN5"></A>Mendel Cooper</H3><DIVCLASS="AFFILIATION"><SPANCLASS="ORGNAME"><BR></SPAN><DIVCLASS="ADDRESS"><PCLASS="ADDRESS"><CODECLASS="EMAIL"><<AHREF="mailto:thegrendel@theriver.com">thegrendel@theriver.com</A>></CODE></P></DIV></DIV><PCLASS="OTHERCREDIT"><B>春敏 杨 - </B><SPANCLASS="CONTRIB"></SPAN></P><PCLASS="OTHERCREDIT"><B>毅 黄 - </B><SPANCLASS="CONTRIB"></SPAN></P><SPANCLASS="RELEASEINFO">3.9.1<BR></SPAN><PCLASS="PUBDATE">2006年5月26日<BR></P><DIV><DIVCLASS="ABSTRACT"><P></P><ANAME="AEN46"></A><P>这本书假定你没有任何关于脚本或一般程序的编程知识, 但是如果你具备相关的知识, 那么你将很容易就能够达到中高级的水平<EM>. . . 所有这些只是<SPANCLASS="TRADEMARK">UNIX</SPAN>®浩瀚知识的一小部分</EM>. 你可以把本书作为教材, 自学手册, 或者是关于shell脚本技术的文档. 书中的练习和样例脚本中的注释将会与读者进行更好的互动, 但是最关键的前提是: <KBDCLASS="USERINPUT">想真正学习脚本编程的唯一途径就是亲自动手编写脚本. </KBD></P><P>这本书也可作为教材来讲解一般的编程概念.</P><P><AHREF="http://personal.riverusers.com/~thegrendel/abs-guide-3.9.tar.bz2"TARGET="_top"> 本文档的最新版本</A>是作为一个归档文件<AHREF="filearchiv.html#BZIPREF">bzip2-ed</A>, <SPANCLASS="QUOTE">"tar包"</SPAN>来发布的, 其中还包括SGML源代码和编译好的HTML版本. 读者可以从作者的主页上下载. <AHREF="http://www.tldp.org/LDP/abs/abs-guide.pdf"TARGET="_top">pdf版本</A>也可以从作者的主页上下载. 查看<AHREF="http://personal.riverusers.com/~thegrendel/Change.log"TARGET="_top">change log</A>来查看校订历史. </P><P></P></DIV></DIV><HR></DIV><H1><ANAME="AEN58"></A>贡献</H1><P>献给Anita, 我所有动力的源泉!</P><DIVCLASS="TOC"><DL><DT><B>目录</B></DT><DT><AHREF="preface.html">序</A></DT><DD><DL><DT>1. <AHREF="preface_author_en.html">原书作者致中国读者(英文)</A></DT><DT>2. <AHREF="preface_author_cn.html">原书作者致中国读者(译文)</A></DT><DT>3. <AHREF="preface_huang_yi.html">黄毅</A></DT><DT>4. <AHREF="preface_chunmin_yang.html">杨春敏</A></DT></DL></DD><DT>第一部分. <AHREF="part1.html">热身</A></DT><DD><DL><DT>1. <AHREF="why-shell.html">为什么使用shell编程?</A></DT><DT>2. <AHREF="sha-bang.html">带着一个Sha-Bang出发(Sha-Bang指的是#!)</A></DT><DD><DL><DT>2.1. <AHREF="invoking.html">调用一个脚本</A></DT><DT>2.2. <AHREF="prelimexer.html">初步的练习</A></DT></DL></DD></DL></DD><DT>第二部分. <AHREF="part2.html">基本</A></DT><DD><DL><DT>3. <AHREF="special-chars.html">特殊字符</A></DT><DT>4. <AHREF="variables.html">变量和参数的介绍</A></DT><DD><DL><DT>4.1. <AHREF="varsubn.html">变量替换</A></DT><DT>4.2. <AHREF="varassignment.html">变量赋值</A></DT><DT>4.3. <AHREF="untyped.html">Bash变量是不区分类型的</A></DT><DT>4.4. <AHREF="othertypesv.html">特殊的变量类型</A></DT></DL></DD><DT>5. <AHREF="quoting.html">引用</A></DT><DD><DL><DT>5.1. <AHREF="quotingvar.html">引用变量</A></DT><DT>5.2. <AHREF="escapingsection.html">转义</A></DT></DL></DD><DT>6. <AHREF="exit-status.html">退出和退出状态码</A></DT><DT>7. <AHREF="tests.html">条件判断</A></DT><DD><DL><DT>7.1. <AHREF="testconstructs.html">条件测试结构</A></DT><DT>7.2. <AHREF="fto.html">文件测试操作符</A></DT><DT>7.3. <AHREF="comparison-ops.html">其他比较操作符</A></DT><DT>7.4. <AHREF="nestedifthen.html">嵌套的if/then条件测试</A></DT><DT>7.5. <AHREF="testtest.html">检测你对测试知识的掌握情况</A></DT></DL></DD><DT>8. <AHREF="operations.html">操作符与相关主题</A></DT><DD><DL><DT>8.1. <AHREF="ops.html">操作符</A></DT><DT>8.2. <AHREF="numerical-constants.html">数字常量</A></DT></DL></DD></DL></DD><DT>第三部分. <AHREF="part3.html">进阶</A></DT><DD><DL><DT>9. <AHREF="variables2.html">变量重游</A></DT><DD><DL><DT>9.1. <AHREF="internalvariables.html">内部变量</A></DT><DT>9.2. <AHREF="string-manipulation.html">操作字符串</A></DT><DT>9.3. <AHREF="parameter-substitution.html">参数替换</A></DT><DT>9.4. <AHREF="declareref.html">指定变量的类型: 使用<BCLASS="COMMAND">declare</B>或者<BCLASS="COMMAND">typeset</B></A></DT><DT>9.5. <AHREF="ivr.html">变量的间接引用</A></DT><DT>9.6. <AHREF="randomvar.html">$RANDOM: 产生随机整数</A></DT><DT>9.7. <AHREF="dblparens.html">双圆括号结构</A></DT></DL></DD><DT>10. <AHREF="loops.html">循环与分支</A></DT><DD><DL><DT>10.1. <AHREF="loops1.html">循环</A></DT><DT>10.2. <AHREF="nestedloops.html">嵌套循环</A></DT><DT>10.3. <AHREF="loopcontrol.html">循环控制</A></DT><DT>10.4. <AHREF="testbranch.html">测试与分支(case与select结构)</A></DT></DL></DD><DT>11. <AHREF="internal.html">内部命令与内建命令</A></DT><DD><DL><DT>11.1. <AHREF="x6756.html">作业控制命令</A></DT></DL></DD><DT>12. <AHREF="external.html">外部过滤器, 程序和命令</A></DT><DD><DL><DT>12.1. <AHREF="basic.html">基本命令</A></DT><DT>12.2. <AHREF="moreadv.html">复杂命令</A></DT><DT>12.3. <AHREF="timedate.html">时间/日期 命令</A></DT><DT>12.4. <AHREF="textproc.html">文本处理命令</A></DT><DT>12.5. <AHREF="filearchiv.html">文件与归档命令</A></DT><DT>12.6. <AHREF="communications.html">通讯命令</A></DT><DT>12.7. <AHREF="terminalccmds.html">终端控制命令</A></DT><DT>12.8. <AHREF="mathc.html">数学计算命令</A></DT><DT>12.9. <AHREF="extmisc.html">混杂命令</A></DT></DL></DD><DT>13. <AHREF="system.html">系统与管理命令</A></DT><DD><DL><DT>13.1. <AHREF="sysscripts.html">分析一个系统脚本</A></DT></DL></DD><DT>14. <AHREF="commandsub.html">命令替换</A></DT><DT>15. <AHREF="arithexp.html">算术扩展</A></DT><DT>16. <AHREF="io-redirection.html">I/O重定向</A></DT><DD><DL><DT>16.1. <AHREF="x13380.html">使用<BCLASS="COMMAND">exec</B></A></DT><DT>16.2. <AHREF="redircb.html">代码块重定向</A></DT><DT>16.3. <AHREF="redirapps.html">重定向的应用</A></DT></DL></DD><DT>17. <AHREF="here-docs.html">Here Document</A></DT><DD><DL><DT>17.1. <AHREF="x13628.html">Here String</A></DT></DL></DD><DT>18. <AHREF="recess-time.html">休息片刻</A></DT></DL></DD><DT>第四部分. <AHREF="part4.html">高级主题</A></DT><DD><DL><DT>19. <AHREF="regexp.html">正则表达式</A></DT><DD><DL><DT>19.1. <AHREF="x13673.html">一份简要的正则表达式介绍</A></DT><DT>19.2. <AHREF="globbingref.html">通配(globbing)</A></DT></DL></DD><DT>20. <AHREF="subshells.html">子shell</A></DT><DT>21. <AHREF="restricted-sh.html">受限shell</A></DT><DT>22. <AHREF="process-sub.html">进程替换</A></DT><DT>23. <AHREF="functions.html">函数</A></DT><DD><DL><DT>23.1. <AHREF="complexfunct.html">复杂函数和函数复杂性</A></DT><DT>23.2. <AHREF="localvar.html">局部变量</A></DT><DT>23.3. <AHREF="recurnolocvar.html">不使用局部变量的递归</A></DT></DL></DD><DT>24. <AHREF="aliases.html">别名</A></DT><DT>25. <AHREF="list-cons.html">列表结构</A></DT><DT>26. <AHREF="arrays.html">数组</A></DT><DT>27. <AHREF="devproc.html">/dev和/proc</A></DT><DD><DL><DT>27.1. <AHREF="devref1.html"><TTCLASS="FILENAME">/dev</TT></A></DT><DT>27.2. <AHREF="procref1.html"><TTCLASS="FILENAME">/proc</TT></A></DT></DL></DD><DT>28. <AHREF="zeros.html">Zero与Null</A></DT><DT>29. <AHREF="debugging.html">调试</A></DT><DT>30. <AHREF="options.html">选项</A></DT><DT>31. <AHREF="gotchas.html">陷阱</A></DT><DT>32. <AHREF="scrstyle.html">脚本编程风格</A></DT><DD><DL><DT>32.1. <AHREF="unofficialst.html">非官方的Shell脚本编写风格</A></DT></DL></DD><DT>33. <AHREF="miscellany.html">杂项</A></DT><DD><DL><DT>33.1. <AHREF="intandnonint.html">交互与非交互式的交互与非交互式的shell和脚本</A></DT><DT>33.2. <AHREF="wrapper.html">Shell包装</A></DT><DT>33.3. <AHREF="testsandcomparisons.html">测试和比较: 一种可选的方法</A></DT><DT>33.4. <AHREF="recursionsct.html">递归</A></DT><DT>33.5. <AHREF="colorizing.html">将脚本<SPANCLASS="QUOTE">"彩色化"</SPAN></A></DT><DT>33.6. <AHREF="optimizations.html">优化</A></DT><DT>33.7. <AHREF="assortedtips.html">各种小技巧</A></DT><DT>33.8. <AHREF="securityissues.html">安全问题</A></DT><DT>33.9. <AHREF="portabilityissues.html">可移植性问题</A></DT><DT>33.10. <AHREF="winscript.html">Windows下的shell脚本</A></DT></DL></DD><DT>34. <AHREF="bash2.html">Bash, 版本2与版本3</A></DT><DD><DL><DT>34.1. <AHREF="bashver2.html">Bash, 版本2</A></DT><DT>34.2. <AHREF="bashver3.html">Bash, 版本3</A></DT></DL></DD></DL></DD><DT>35. <AHREF="endnotes.html">后记</A></DT><DD><DL><DT>35.1. <AHREF="authorsnote.html">作者后记</A></DT><DT>35.2. <AHREF="aboutauthor.html">关于作者</A></DT><DT>35.3. <AHREF="translator_china.html">译者后记</A></DT><DD><DL><DT>35.3.1. <AHREF="translator_china.html#TRANSLATOR1_ROJY_YANG">杨春敏</A></DT><DT>35.3.2. <AHREF="translator_china.html#TRANSLATOR2_YI_HUANG">黄毅</A></DT></DL></DD><DT>35.4. <AHREF="wherehelp.html">在哪里可以获得帮助</A></DT><DT>35.5. <AHREF="toolsused.html">用来制作这本书的工具</A></DT><DD><DL><DT>35.5.1. <A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -