shift用法

上传人:野鹰 文档编号:1134835 上传时间:2017-05-29 格式:TXT 页数:3 大小:2.83KB
返回 下载 相关 举报
shift用法_第1页
第1页 / 共3页
shift用法_第2页
第2页 / 共3页
shift用法_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《shift用法》由会员分享,可在线阅读,更多相关《shift用法(3页珍藏版)》请在金锄头文库上搜索。

1、Until语句While语句中,只要某条件为真,则重复执行循环代码,until语句正好同while相反,该语句使循环代码重复执行,直到遇到某一条件为真才停止。Until语句的结构如下:until commanddocommandcommand done可以用until语句替换上面备份程序的while语句,完成同样的功能:until $ANS != Y -a $ANS != y for 循环在介绍for循环之前,我们要学个非常有用的unix命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当Shell 程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求S

2、hell在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就是在$1后为$2,在$2后面为$3等。在 shift命令执行前变量$1的值在shift命令执行后就不可用了。示例如下:#测试shift命令(x_shift.sh)until $# -eq 0 doecho 第一个参数为: $1 参数个数为: $#shiftdone执行以上程序x_shift.sh:$./x_shift.sh 1 2 3 4结果显示如下:第一个参数为: 1 参数个数为: 3第一个参数为: 2 参数个数为: 2第一个参数为: 3 参数个数为: 1第一个参数为: 4 参数个数为: 0从上可知shift命令每执行一次,

3、变量的个数($#)减一,而变量值 前一位,下面代码用until shift命令 所有命令行参数的 。#shift上 命令的 用(x_shift2.sh)if $# -eq 0 thenecho Usage:x_shift2.sh 参数exit 1fisum=0until $# -eq 0 dosum=expr $sum + $1shift doneecho sum is: $sum执行上 程序:$x_shift2.sh 10 20 15其显示结果为:45shift命令还有 一个重要用 ,Bsh定 了9个位置变量,从$1到$9, 不 用户在命令行只能使用9个参数, shift命令可以 于9个的参

4、数。Shift命令一次 参数的个数 其所 的参数 定。例如当shell程序处理完前 个命令行参数后,可以使用shift 9命令把$10 到$1。在 了shift命令后,我们一起 ,Bsh程序中非常有用的for循环语句, 循环同上面 的while until循环不同,for语句中的循环是 执行 不 某个条件的真 定,定for循环是 的条件是参数中是 还有处理的参数。currency1试shell程序用户“完Shell程序中,不可的fi有fl , 时我们可以用Bsh中 的 ,该 fi显示执行的命令参数。用户可以set命令”-x 或在 Shell使用-x Shell 置成 。例如有下面代码ice_t

5、x:if $# -eq 0 thenecho usage:sumints integer listexit 1fisum=0until $# -eq 0 dosum=expr $sum + $1shiftdoneecho $sum我们用 行:$sh -x ice_tx 2 3 4结果显示:+ 3 -eq 0 +sum=0+ 3 -eq 0 +expr 0+2+sum=2+shift+ 2 -eq 0 +expr 2+3+sum=5+shift+ 1 -eq 0 +expr 5+4+sum=9+ 0 -eq 0 +echo 99从上面可以 , 下Shell显示执行的每一条命令以该命令使用的变量替换后的参数值。一如ifthenuntil等显示。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号