当前位置: 首页 > 文档资料 > Shell 中文文档 >

33.9. 移植话题

优质
小牛编辑
128浏览
2023-12-01

这本书是关于在GNU/Linux系统下的Bash编程. 但同样,shksh用户也能在这儿得到许多有用的价值.

以现在的情况来看,许多种shell和脚本语言都尽力使自己符合 POSIX 1003.2标准. 用 --posix选项调用Bash或在脚本开头插入 set -o posix就能使Bash能以很接近这个标准的方式运行. 在脚本开头用

   1 #!/bin/sh

比用

   1 #!/bin/bash

会更好.注意在Linux和一些UNIX风格的系统里/bin/sh是/bin/bash的一个链接(link), 并且如果脚本以/bin/sh调用时会禁用Bash的扩展功能.

大多数的Bash脚本能不作修改就能运行在 ksh下, 反之亦然, 因为 Chet Ramey 辛勤地把 ksh的属性移植到了最新的Bash版本.

在商业的 UNIX 机器上, 使用了GNU扩展属性的标准命令的脚本可能不会工作. 这个问题在最近几年已经有所改观了, 因为GNU软件包完美地代替了在这些"大块头的"UNIX运行的相应工具.源码分发给传统UNIX上加快了这种趋势.

Bash 有传统的 Bourne shell缺乏的一些属性. 下面是其中一些:

参考 BashF.A.Q.查看完整的列表.