第一范文网 - 专业文章范例文档资料分享平台

shell基本语法(开发)

来源:用户分享 时间:2025/10/8 4:55:35 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

结果显示:my

下面用个read和case的例子结束本部分的学习:

#--交互式备份,恢复程序

echo \输入要备份文件所在目录:\\c\ read WORKDIR if [ !-d $WORKDIR ] then

echo \Sorry,$WORKDIR is not a directory\ exit 1 fi

cd $WORKDIR echo \输入选择:\ echo _

echo \1.恢复到 $WORKDIR\ echo \2.备份 $WORKDIR\ echo \0.退出\ echo echo \\\c\ read CHOICE case \$CHOICE\ in 1)echo \恢复中... ...\ cpio -i < /dev/mnt0;; 2)echo \备份中... ...\ ls | cpio -o > /dev/mnt0;; 0)exit 1 *)exit 1 esac

if [ $? -ne 0 ] then

echo \程序运行中出现错误!\ else

echo \操作成功!\ fi

在上面代码中,\*\定义了其他模式下不匹配时的默认操作。

循环语句

前面介绍的程序和所学的语句都是从头到尾成一条主线下来,或是成分支结构,在日常管理UNIX的过程中,经常要重复的做一些操作,处理批量的问题,这就涉及到了循环结构,同高级语言相似,UNIX的Shell也提供了强大的循环处理语句。

Bsh语言中有三种循环语句-while循环、until循环、for循环,下面通过具体的例子分别介绍这三种结构。

While循环

在while循环语句中,当某一条件为真时,执行指定的命令。语句的结构如下:

while command do

command command … … done

示例代码如下:

#测试while循环小程序 x_t=1

while [ $x_t -lt 5 ] do

mm=` expr $x_t \\* $int ` #注意\\\\的作用 echo \$mm\

x_t=` expr $x_t + 1 ` #注意expr的用法 done

echo \THE WHILE IS END!\\n\

程序的执行结果如下:

1 4 9 16

THE WHILE IS END

在上述程序中,当变量x_t的值小于5的时候,执行while循环中的语句。在第五次循环时, [ $x_t-lt5]命令返回非零值,于是程序执行done后面的代码。

现在利用while循环,可以改进我们早些时候用的备份数据的例子,当用户指定的目录备份完毕后,使用while循环使程序执行一次可以备份多个用户指定的目录。代码如下:

echo \欢迎使用备份小程序\

ANS=Y

while [ $ANS = Y -o $ANS = y ] do

echo _ #读目录名

echo \输入要备份的目录名:\\c\ read DIR

if [ ! -d $DIR ] then

echo \$DIR不是一个目录!\ exit 1 fi cd $DIR echo \请选择:\ echo _

echo \1 恢复数据到 $DIR\ echo \2 备份$DIR的数据\ echo

echo \请选择:\\c\ read CHOICE case \$CHOICE\ in

1) echo \恢复中… …\

cpio -i 2) echo \备份中… …\

cpio -o >/dev/rmt0;; *) echo \选择无效\ esac

if [ $? -ne 0 ] then

echo \cpio执行过程中出现问题\ exit 2 fi

echo \继续别的目录吗?(Y/y)\\c\ read ANS done

在程序开始,我们给变量ANS符值为Y,根据whlie的判断条件,程序进入while循环,执行do-done中的语句,每次循环都要求用户输入ANS的值用来判断是否进行下次重复执行do-done中的语句。如果用户输入的条件不满足while语句条件,循环结束,程序执行done后面的语句。 Until语句

While语句中,只要某条件为真,则重复执行循环代码,until语句正好同while相反,该语句使循环代码重复执行,直到遇到某一条件为真才停止。

Until语句的结构如下: until command do

command command … … done

可以用until语句替换上面备份程序的while语句,完成同样的功能:

until [ $ANS != Y -a $ANS != y ]

for 循环

在介绍for循环之前,我们要学个非常有用的unix命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当Shell程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求Shell在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就

搜索更多关于: shell基本语法(开发) 的文档
shell基本语法(开发).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2bmi99dxjy6j6mw9r6v0_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top