19027008.doc Confidentiality level 密级
fordo将'argument-list'中的下一个词赋给'variable'执行'command-list'中的命令是'argument-list'中是否还有其它词?否done
for语句的语义
for var do
commands done
例如
for arg
do
echo $var done
调用 varlist.sh 111 222 3333 输出: 111 222 333
6. while语句
while expression do
command-list
Page 16 , Total 83 第16页,共83页
done
All rights reserved 版权所有,侵权必究
19027008.doc Confidentiality level 密级
whiledo表达式的计算结果是否为真?否是执行'command-list'中的命令done
while语句的语义
7. until 语句
until expression do
command-list done
All rights reserved 版权所有,侵权必究
Page 17 , Total 83 第17页,共83页
19027008.doc Confidentiality level 密级
untildo表达式的计算结果是否为真?是否执行'command-list'中的命令done
until语句的语义
8. break及continue
这两者是用於for, while, until 等循环控制下。break 会跳至done后方执行 ,而continue会跳至done执行,继续执行循环。
9. case 语句
case test-string in
pat1)
command-list1 ;;
command-list2 ;;
pat2)
. . . patN) *)
;;
command-listN ;;
esac
All rights reserved 版权所有,侵权必究
Page 18 , Total 83 第18页,共83页
19027008.doc Confidentiality level 密级
case'test-string'是否等于pat1?否'test-string'是否等于pat2?...'test-string'是否等于patN?是执行'command-list1'中的命令执行'command-list2'中的命令执行'command-listN'中的命令done... case语句的语义
而pat 除了可以指定一些确定的字串,也可以指定字串的集合,如下 * 任意字串 ? 任意字元
[abc] a, b, 或c三字元其中之一 [a-n] 从a到n的任一字元 | 多重选择,如A|a
十.shell脚本调试
1.启动调试
启动调试Shell脚本的基本语法为:
$/bin/sh option script arg1 arg2 ... argN
这里显式声明了要执行脚本的Shell为/bin/sh,script是脚本的名字,arg1到argN是脚本的参数, option为调试选项,如下所示: -n -v
-x
读所有的命令,但不执行它们 在读时显示所有的行
在执行时显示所有命令和它们的参数。该选项常称为shell 跟踪选项或
改变脚本的第一行,象下面那样在该行声明一个调试选项: #!/bin/sh option
2.使用set命令
在每个调用激活调试模式中,调试模式的缺省行为对脚本中从第一行到最后一行都有效。有时我们只需要调试特定的函数或脚本的一部分,这时调试整个脚本就有些多余。通过使用set命令,我们可以在shell脚本的任何地方启动或取消调试,其基本语法为:
set [-|+] option
这里的option选项与上面的相同。
set –x 回显 set –v 详细
All rights reserved 版权所有,侵权必究
Page 19 , Total 83 第19页,共83页
19027008.doc Confidentiality level 密级
如#!/bin/ksh -xv
3.语法检查
在处理任何Shell脚本时,应在准备执行它之前检查脚本的语法,这使我们能改正许多问题。要启动语法检查可使用-n选项,如对于上面的buggy.sh脚本,象下面那样检查语法: $/bin/sh -n ./buggy.sh
All rights reserved 版权所有,侵权必究Page 20 , Total 83 第20页,共83页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库unix脚本总结与应用实例 - 图文(4)在线全文阅读。
相关推荐: