|
发表于 2008-12-31 12:57:54
|
显示全部楼层
{} 的作用是将一组指令看成一条指令,这点跟C语言中"类似",if{}, for(){}, while{}...
举个例子,一个脚本接受一个命令行参数,脚本的开始判断这个参数是否是个目录, 如果不是,打印错误信息,然后退出。通常可以写成:
- if [ -z "$1" -o ! -d "$1" ]; then
- echo "usage: $0 <dirname>"
- exit 1
- fi
复制代码
不过我通常写成:
- [-n "$1" -a -d "$1" ] || { echo "usage: $0 <dirname>"; exit 1; }
复制代码
至于(),其中的指令会在另一个shell (子 shell)中运行,这样两个 shell 的环境变量,全局变量互不影响。随着你水平的提高,你会明白的。
这只是我的实践心得,版大学风严谨,不对的地方请指正。 |
|