介绍几个shell程序设计小知识之五

发表于:2007-05-26来源:作者:点击数: 标签:
一,命令组合:圆括号和花括号 shell中有两种方法将命令组合在一起:圆括号和花括号.圆括号使shell创建一个子shell 来读取并执行括起来的名命令.左括号和右括号不论出现在命令行中的什么位置,shell都会 认为它们具有特殊的组合意义的.只有用双引号将它们括起来

一,命令组合:圆括号和花括号
shell中有两种方法将命令组合在一起:圆括号和花括号.圆括号使shell创建一个子shell
来读取并执行括起来的名命令.左括号和右括号不论出现在命令行中的什么位置,shell都会
认为它们具有特殊的组合意义的.只有用双引号将它们括起来引用,才表示圆括号或花括号
的原义.例如:

echo a(b)
将出现语法上的错误,要想输出a(b)字符串 只能括起来
echo "a(b)"
或echo a"("b")"
这样才能被shell正确解释.
    利用组合命令有什么作用呢?
一,用圆括号组合命令
     圆括号的组合命令可以创建子进程运行组合程序,建立子进程的功能是很有用的,因为
子shell在组合命令中的种种操作都不会影响到当前shell的各变量的值.
    例如:
    子进程在执行组合命令时改变了工作目录,并在新的工作目录下执行一系例命令,执行
完后它可以不必返回原工作目录,因为子进程工作目录的改变不会影响到当前工作目录.

   创建子进程后将当前的环境也同样传给子shell,当前shell中用export输出到环境中的
各变量在子shell中同样有效.
   

   花括号也可以将命令组合在一起.左 右花括号只有作为一条命令的第一个字出现时,
shell才它们含有特殊含义.
   与圆括号不同的是花括号并不创建子shell,只是由当前的shell来读取并执行括起来的
命令.有时用户希望使用一组命令的顺序输出作为另一组命令的输入,此时用花括号是很方
便的.
    不论是用圆括号不是花括号,退出状态都是等于最后一条括起来的命令的退出状态.


二,可以在当前shell中执行的命令

    用户在使用shell时一定要了解那些是可以在当前shell中执行的命令 那些不可以
可以在当前shell中执行的命令有:

break case  cd continue
echo eval exec exit
export for if read
readonly return set shift
test times trap umask
until wait while
: {}

 sindney 回复于:2004-05-19 08:16:21
一直期待楼主.....

 绣林 回复于:2004-05-19 08:20:50
继续辛苦......

 linuxpiao 回复于:2004-05-19 10:17:38
go on

 vshu 回复于:2004-05-19 14:02:13


 liugr3988 回复于:2004-05-21 22:01:56
不错,加油干。

原文转自:http://www.ltesting.net