- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Shell编程:Linux系统环境程序设计之路.doc
Shell编程:Linux系统环境程序设计之路
Shell编程:Linux系统环境程序设计之路
函数
别的高级语言都有函数的感念,当然shell编程也有这个概念,当写一个比较大型的shell程序的时候,如果没有函数,则会到处都是重复的代码。当然也可以调用别的脚本,但是速度会比较慢。所以函数是必不可少并且非常重要的一个东西。
定义函数的格式
function_name(){...}
例子:
//~ fun_s
show(){
echo show $*
}
echo $*
echo after function
show c d
echo $*
exit 0
/////////////////////////////
$./fun_s a b
结果是
a b
after function
c d
a b
从上面的例子可以看出,当脚本调用函数的时候,脚本程序的位置参数会被替换成函数的位置参数,并且函数调用结束后还原。
return:
//~ return_s
#!/bin/bash
first(){
echo is return
}
second(){
echo before return
return 0
echo after return
}
return_value=$(first)
echo $return_value
secondecho return 0||echo return other
exit 0
//////////////////////////////////////
输出
is return
before return
return 0
该例子说明可以捕获函数内echo的字符串,如echo $(first) , 函数在return后不会再执行下面的语句。
secondecho return 0||echo return other 该句的输出为 return 0。这里有人可能会和C语言混淆,因为在C语言里0表示的是false。而这里的0表示函数执行成功,可以理解为true,所以会输出return 0。
命令
break,continue 和c语言基本类似
echo 了解一点即可echo -n 输出没有换行。
eval:
例子:
//~ eval_s
#!/bin/bash
var1=abcd
var2=var1
eval var3=\$$var2
echo $var3
exit 0
///////////////////////////
eval相当于一个额外的$,它给出一个变量值的值,如例子里先是$var2使var3变成\$var1,又var1=abcd,所以var3变为abcd,连续解析了两次变量。
export:
看下面两个例子可以很好的说明export的作用。
//~ export1_s
#!/bin/bash
var1=this is var1
var2=this is var2
export var2
./export2_s
exit 0
///////////////////////////
//~ export2_s
#!/bin/bash
echo $var1
echo $var2
exit 0
/////////////////////////
输出:
this is var2
输出结果说明var1为空而var2却有值,这正是export起的作用,把var2变成了一个环境变量。
再看个例子:
#!/bin/bash
echo $var1
echo $var2
echo $var3
exit 0
//////////////////////////
//~ set-a_s
#!/bin/bash
set -a
var1=var1
var2=var2
var3=var3
./set-a2_s
exit 0
//////////////////////////
//~ set-a2_s
输出:
var1
var2
var3
set -a的作用就是把它之后声明的所有变量都export
printf:
和C语言里的printf用法很相似的一个命令,使用非常方便。
set:
//~ set_s
#!/bin/bash
fun1()
{
echo a b
您可能关注的文档
- 春北理工《多媒体技术》在线作业.doc
- [].第章 烃的衍生物学案和习题.doc
- N--地块一期工程施工组织设计.doc
- QJ A- 半导体器件破坏性物理分析( DPA )方法和程序.doc
- 需求拉动对钢铁产业增长动态效应的实证研究.doc
- CAD/CAM技术及应用 中南大学试题答案.doc
- 半导体器件总剂量辐射效应的热力学影响研究.doc
- 2016新编《点集拓扑学》§4.1 连通空间.doc
- 商住楼地基处理施工组织总设计解读.docx
- 中山大学附属第八医院t磁共振成像系统设备采购.doc
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
最近下载
- PLC应用技术(S7-1200) 试题及答案 共3套.docx VIP
- 2025年云南省职教高考《英语》真题试卷(含答案解析).docx VIP
- 初中数学校本教材《生活的数学》.doc VIP
- 【C397电子器件制造】XXXX有限公司职业病危害现状评价报告最终稿20230327.doc VIP
- XXXX有限公司安全现状评价报告.docx VIP
- 引镇消防站建设项目环境影响评价报告.doc VIP
- 部编版六年级语文下册教案教学设计.docx VIP
- DLT 593-2016 高压开关设备和控制设备标准的共用技术要求.pdf VIP
- 计算机网络实验-使用Wireshark分析IP协议.doc VIP
- 化工安全预评价报告.doc VIP
原创力文档


文档评论(0)