跳转到内容

Puredyne/编码风格

来自维基教科书,开放的书籍,为开放的世界

Shell 脚本

[编辑 | 编辑源代码]

本指南主要参考了 Debian Live 编码风格.

兼容性

[编辑 | 编辑源代码]
  • 不要使用 Bash shell 独有的语法或语义。例如,使用数组结构。
  • 只使用 POSIX 子集 - 例如,使用 $(foo) 而不是 `foo`
  • 您可以使用 'sh -n' 和 'checkbashisms' 检查您的脚本
  • 始终使用制表符而不是空格。
  • 通常,行最大为 80 个字符。
  • 使用“Linux 风格”的换行
  # Bad:
  if foo; then
      bar
  fi

  # Good:
  if foo
  then
      bar
  fi
  • 函数也是如此
  #Bad:
  foo () {
      bar
  }

  #Good:
  foo ()
  {
      bar
  }
  • 变量始终使用大写字母。
  • 使用大括号括起变量;例如,写 ${FOO} 而不是 $FOO
  • 始终保护变量,使其不受潜在空格的影响,写 "${FOO}" 而不是 ${FOO}
  • 为了保持一致性,在给变量赋值时始终使用引号
  #Bad:
  FOO=bar

  #Good:
  FOO="bar"
  • 如果使用多个变量,请引用整个表达式
  #Bad:
  if [ -f "${FOO}"/foo/"${BAR}"/bar ]
  then
      foobar
  fi

  #Good:
  if [ -f "${FOO}/foo/${BAR}/bar" ]
  then
      foobar
  fi
  • 在调用 sed 时,使用 | 作为分隔符,例如 sed -e 's|foo|bar|'
  • 不要使用 test 命令进行比较或测试,使用 [ ],例如 if [ -x /bin/foo ]; ... 而不是 if test -x /bin/foo; ...
华夏公益教科书