• 源文件

  • 命名

  • 异常与日志

  • 编程实践 持续分类并完善

  • 附:常用工具

  • 前言

    与其它的编程规范一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。这份文档主要侧重于我们所普遍遵循的规则, 对于那些不是明确强制要求的,我们尽量避免提供意...

    Continue reading>>

    危险正在接近你 -- 小心, 小心, 小心, 小心。许多勇敢的心都在沉睡,所以一定要小心,小心。

     -- A.J. Lamb and H.W. Petrie

    ◇ 将保留字或特殊字符声明为变量名.

      1 case=value0       # 引发错误. 
    &nb...
    Continue reading>>

    eval用来在执行命令时作二次解析:主要是每次执行一个shell命令它会先检察一次,看到有$标志就会把值替换一次,然后再执行一遍。eval不会唤起起另一个shell来执行,而是在本身这个shell内多解析一次,所以替换的结果可以保留下来使用。

    官方说明:

    NAME

        eval: eval [arg ...]
     &nbsp...

    Continue reading>>

    首先, 调试要比编写代码困难得多, 因此, 如果你尽可能聪明的编写代码, 你就不会在调试的时候花费很多精力.Brian Kernighan

    Bash并不包含调试器, 甚至都没有包含任何用于调试目的的命令和结构. 脚本中的语法错误, 或者拼写错误只会产生模糊的错误信息, 当你调试一些非功能性脚本的时候, 这些错误信息通常都不会提供有意义的帮助.

    例子 29-1. 一个错误脚本

     &nb...
    Continue reading>>

    目录:

    特殊的shell变量

    变量含义
    $0脚本名字
    $1位置参数 #1
    $2 - $9位置参数 #2 - #9
    ${10}位置参数 #10
    $#位置参数的个数
    "$*"所有的位置参数(作为单个字符串)...
    Continue reading>>