这本书是关于在GNU/Linux系统下的Bash编程.但同样,sh和ksh用户也能在这儿得到许多有用的价值. 以现在的情况来看,许多种shell和脚本语言都尽力使自己符合POSIX1003.2标准.用--posix选项调用Bash或在脚本开头插入set-oposix就能使Bash能以很接近这个标准的方式运行.在脚本开头用 1#!/bin/sh比用 1#!/bin/bash会更好.注意在Linux和一些UNIX风格的系统里/bin/sh是/bin/bash的一个链接(link),并且如果脚本以/bin/sh调用时会禁用Bash的扩展功能.大多数的Bash脚本能不作修改就能运行在ksh下,反之亦然,因为ChetRamey辛勤地把ksh的属性移植到了最新的Bash版本. 在商业的UNIX机器上,使用了GNU扩展属性的标准命令的脚本可能不会工作.这个问题在最近几年已经有所改观了,因为GNU软件包完美地代替了在这些"大块头的"UNIX运行的相应工具.源码分发给传统UNIX上加快了这种趋势. Bash有传统的Bourneshell缺乏的一些属性.下面是其中一些:一些扩展的调用选项(invocationoptions) 使用$()结构来完成命令替换(Commandsubstitution) 一些字符串处理(stringmanipulation)操作符 进程替换(Processsubstitution) Bash的内建(builtins)命令
上一篇:shell脚本中的通配_程序数据_shell
下一篇:shell中的安全话题_程序数据_shell