• 源文件

  • 命名

  • 异常与日志

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

  • 附:常用工具

  • 前言

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

    Continue reading >>

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

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


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

    case=value0       # 引发错误. 
    23skidoo=value1 &...
    Continue reading >>

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

    官方说明:

    NAME

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

    Continue reading >>

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

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


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

    #!/bin/ba...
    Continue reading >>

    目录:

    特殊的shell变量

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

    转载自:https://blog.mythsman.com/post/5d2ab67ff678ba2eb3bd346f/

    开头有 “蛇棒”

    所谓 shebang 其实就是在很多脚本的第一行出现的以 "#!" 开头的注释,他指明了当我们没有指定解释器的时候默认的解释器,一般可能是下面这样:

    #!/bin/bash

    当然,解释器有很多种,除了 bash 之外,我们可以用下面的命令查看本机支...

    Continue reading >>