- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Shell程序设计Shell程序设计
3.3.9.1 break命令
这个命令在控制条件未满足之前,跳出for/while/until循环。另外还可以为break提供一个参数,表明要跳出的循环的层数,这点跟我们在c语言中的break不一样。不过一般情况下,我们不会这么做,因为它降低了程序的可读性。
例:
#!/bin/sh
rm -rf fred*
echo fred1
echo fred2
mkdir fred3
echo fred4
for file in fred*
do
if [ -d $file ]
then
break;
fi
Done
echo first directory starting fred was $file
rm -rf fred*
exit 0
3.3.9.2 :命令
冒号(:)是一个空命令,它偶尔会被用于逻辑简化,相当于true的一个别名,由于它是内置命令,所以它的运行效率要比true高
while: 相当于 while true
3.3.9.3 continue命令
类似于C中的continue,使for/while/until循环跳到下一次循环继续执行,continue也可以附带一个参数,表示希望继续执行的循环嵌套的层数,同样,这个参数也很少用,它会降低程序的可读性。
例:
#!/bin/sh
rm -rf fred*
echo fred1
echo fred2
mkdir fred3
echo fred4
for file in fred*
do
if [ -d $file ]
then
echo skipping the directory $file
continue
fi
echo file is $file
done
rm -rf fred*
exit 0
3.3.9.4 .命令
点(.)命令用来执行当前shell中的命令
如. ./shell_script
在shell脚本程序中,点命令的作用类似于c语言中的include,因此可以使用点命令将变量和函数定义结合进一个脚本程序中;
例:
1.sh
#!/bin/sh
var=“hello 1.sh”
echo “this is 1.sh script”
2.sh
#!/bin/sh
. ./1.sh
echo “this is 2.sh script”
exit 0
3.3.9.5 echo命令
最常见的就是如何去掉换行符,linux通常采用如下方法:
echo -n “hello world”
3.3.9.6 eval命令
eval命令允许对参数进行求值。它是shell的内置命令,通常不会以单独命令的形式存在。
foo=10
x=foo
y=‘$’$x
echo $y
打印出的结果是$foo
而
foo=10
x=foo
eval y=‘$’$x
echo $y
输出是10
当然你也可以用另外一种方法对变量求值
y=$(($x))
3.3.9.7 exec命令
exec有两种用法
1) 将当前的shell替换为一个不同的程序
exec wall “hello world”
将当前的shell替换为执行wall,exec后面的语句都不会执行了,因为当前的shell已经不复存在了
2) 修改当前文件描述符
exec 3 afile
文件描述符3被打开以便从文件afile中读取数据。
3.3.9.8 exit命令
exit n命令以退出码n结束运行。
如果你在退出时没有指定一个退出状态,那么最后一条被执行的命令的状态将被用作返回值。
在shell脚本编程中,0表示成功,1-125是脚本程序使用的错误代码
3.3.9.10 export命令
export命令将作为它参数的变量导出到子shell中,并使之在子shell中有效。例:
先列出脚本程序export2:
#!/bin/sh
echo “$foo”
echo “$bar”
然后是脚本程序export1。在这个脚本的末尾,我们调用了export2
#!/bin/sh
foo=“the first meta-syntactic variable”
export bar=“the second meta-syntactic variable”
./export2
运行这个脚本程序,输出如下:
$export 1
the second meta-syntactic variable
第一个空行的出现是因为变量foo在export2中不可用,所
以$foo被赋值为空,echo一个空变量将输出一个空行。
当变量被一个shell导出后,它就可以被该shell调用的任何脚本使用,也可以被后续调
您可能关注的文档
- sat1-分析sat1-分析.doc
- Sample 3Sample 3.doc
- SAT作文例子SAT作文例子.doc
- SATWE 计算参数SATWE 计算参数.doc
- SAT2016分SAT2016分.doc
- SAT语法之句子SAT语法之句子.docx
- SAT数学必背单词SAT数学必背单词.doc
- SAT语法部分简介SAT语法部分简介.doc
- satwe参数设置satwe参数设置.doc
- SATWE设计参数SATWE设计参数.doc
- 场地脚手架工程施工方案(3篇).docx
- 2024年浙江省丽水市松阳县玉岩镇招聘社区工作者真题及参考答案详解一套.docx
- 2024年河南省郑州市惠济区古荥镇招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市淳安县文昌镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省台州市三门县小雄镇招聘社区工作者真题带答案详解.docx
- 2024年浙江省宁波市余姚市河姆渡镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省丽水市景宁畲族自治县雁溪乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市临安市板桥乡招聘社区工作者真题及答案详解一套.docx
- 2024年湖北省宜昌市点军区土城乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省台州市路桥区桐屿街道招聘社区工作者真题附答案详解.docx
文档评论(0)