Advanced Bash-Scripting Guide: An in-depth exploration of the art of shell scripting | ||
---|---|---|
Prev | Chapter 33. Miscellany | Next |
这本书是关于在GNU/Linux系统下的Bash编程. 但同样,sh 和 ksh 用户也能在这儿得到许多有用的价值.
以现在的情况来看,许多种shell和脚本语言都尽力使自己符合 POSIX 1003.2 标准. 用 --posix 选项调用Bash或在脚本开头插入 set -o posix 就能使Bash能以很接近这个标准的方式运行. 在脚本开头用
1 #!/bin/sh |
1 #!/bin/bash |
大多数的Bash脚本能不作修改就能运行在 ksh下, 反之亦然, 因为 Chet Ramey 辛勤地把 ksh 的属性移植到了最新的Bash版本.
在商业的 UNIX 机器上, 使用了GNU扩展属性的标准命令的脚本可能不会工作. 这个问题在最近几年已经有所改观了, 因为GNU软件包完美地代替了在这些"大块头的"UNIX运行的相应工具. 源码分发 给传统UNIX上加快了这种趋势.
Bash 有传统的 Bourne shell 缺乏的一些属性. 下面是其中一些:
一些扩展的 调用选项(invocation options)
使用 $( ) 结构来完成命令替换(Command substitution)
一些 字符串处理(string manipulation) 操作符
Bash的 内建(builtins) 命令
参考 Bash F.A.Q. 查看完整的列表.