分享

shell入门基础(4)

 Alex@ZW 2010-11-15

(2)case语句

case语句要求shell将一个字符串S与一组字符串模式P1,P2,...,Pn比较,当S与

某个模式Pi想匹配时,就执行相应的那一部分程序/命令.shell的case语句中字符

模式里可以包含象*这样的通配符.

语法格式:

bash/pdksh用法:

case string1 in
str1)
commands1;;
str2)
commands2;;
*)
commands3;;
esac
tcsh用法:
switch (string1)
case str1:
statements1
breaksw
case str2:
statements2
breaksw
default:
statements3
breaksw
endsw

含义:shell将字符串string1分别和字符串模式str1和str2比较.如果string1与str1匹配,则

shell执行commands1的命令/语句;如果string11和str2匹配,则shell执行commands2的命令/

语句.否则shell将执行commands3的那段程序/命令.其中,每个分支的程序/命令都要以两个

分号(;;)结束.

6.循环语句

当需要重复的某些操作时,就要用到循环语句.

(1)for语句

大家知道在很多编程语言中for语句是最常见.在shell中也不例外.for语句要求shell将包含

在这个语句中的一组命令连续执行一定的次数.

语法格式:

bash/pdksh

用法1:

for var1 in list

do

commands

done

含义:在这个for语句中,对应于list中的每个值,shell将执行一次commands代表的一组命令.

在整个循环的每一次执行中,变量var1将依此取list中的不同的值.

用法2:

for var1

do

setatements

done

含义:在这个for语句中,shell针对变量var1中的每一项分别执行一次statements代表的一组

命令.当使用这种形式的语句时,shell认为var1变量中包含了所有的位置变量,而位置变量中

存放着程序的命令行参数值.也就是说,他等价于下列形式:

for var1 in " $@"

do

statements

done

tcsh用法:

在tcsh中没有for这个单词,与for语句起同样功能的是foreach语句

foreach name (list)

commands

end

举例:

for file            ;bash/pdksh
do
tr a-z A-Z<$file>file.caps
done
#               ;tcsh
foreach file ( $ * )
tr a-z A-Z<$file>$file.caps
end

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多