- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用变量
第17讲第7章 Shell脚本设计7.2 使用变量 7.2.1 变量的创建和引用 7.2.2 变量的读入和输出 引 言 如何创建和引用变量? 如何读入内容到变量? 如何输出变量内容? 【问题2的提出】 Geecy软件开发公司的开发人员Tom已经开始使用自己开发的脚本update。但随之而来又产生一个新问题:很多时候需要产生不同文件名的数据文件,也就是说,文件名不一定是固定的“data.txt”! 【问题2分析】 这个问题本身不难。Tom立刻就想到了解决的方法: 例如,如果要求产生的数据文件名字为“new.txt”,则可以: ./update mv data.txt new.txt 也就是说,每次执行脚本update之后,再运行一个文件重命名的命令。 更好的解决方法是在脚本中使用变量。 7.2.1 变量的创建和引用变量创建 使用Bash Shell,用户不需要显式地声明变量。用户可以在赋值给一个新变量的同时,创建变量。 创建变量并赋值的语法是: Variable=Value 其中: (1)Variable表示将要创建的变量名。 (2)Value表示赋给变量的值。 (3)赋值运算符“=”的两边必须没有空白。 7.2.1 变量的创建和引用变量创建 上面创建了3个变量并分别予以赋值,注意有些符号不允许使用。 声明变量的时候,用户不需要指定变量的类型。因为Shell脚本中的变量都被当作是字符串。 如果所赋值的内容没有空格,可以不使用引号。 7.2.1 变量的创建和引用变量引用 当需要引用一个变量的内容,需要使用符号“$”。为了不引起歧义,一般还需要配合花括号“{ }”。 只有不涉及字符串的连接时, “{ }”才是可用可不用的。 7.2.2 变量的读入和输出1、输出变量内容 如果需要输出内容到屏幕,用户可以使用echo命令。使用echo命令的语法是:echo [-n] String 其中:(1)String表示将要输出的字符串。 (2)选项-n表示输出String后,不输出回车换行符。 7.2.2 变量的读入和输出1、输出变量内容 默认情况下,echo命令输出字符串后,接着输出一个回车换行符,使光标移动到下一行的行首,等待后面的输出。 如果选用了选项-n,表示不换行继续输出。 用户也可以先保存一个字符串内容到变量,然后在需要的地方输出该变量内容。 7.2.2 变量的读入和输出2、读入内容到变量 除了直接赋值给变量,用户也可以从键盘中读入一个值赋给变量,然后在shell脚本的后面根据需要使用该变量。 使用read命令从键盘读入内容到变量。 当脚本解释执行到read命令的时候,将会暂停并等待用户的键盘输入。当用户输入内容并按回车键后,后面的语句将继续执行。 7.2.2 变量的读入和输出2、读入内容到变量 由于read命令提示信息,因此一般都使用echo命令输出一些必要的提示信息。 首先由echo命令给出提示信息“What’s your name?” 然后执行read命令,并等待用户的键盘输入。 当用户输入内容并回车后,用户所输入的内容被保存到名为UserName的变量中; 最后,用另外一个echo命令,将合成后的内容输出。 7.2.2 变量的读入和输出2、读入内容到变量 将从键盘接收的信息,存入文件中保存,是read的另一种常见用法。 【问题2解决方案】 1、在原本的基础上把update修改为下面内容: 2、修改后的脚本,可以接受从键盘输入的自定义文件名,从而创建出不同名字的数据文件。 练 习 1、Cell宽带数据公司的客户服务中心每天都会接收到一些客户电话。值班人员为客户解答完毕后,客户可以通过电话按键对该值班人员的工作作出“满意”或“不满意”的投票评价,如果直接挂机则表示放弃投票。 请编写一个shell脚本,读入每天电话的总数、“满意”的票数和“不满意” 的票数,统计放弃投票的数量。 【提示】放弃投票的数量 = 总数量 –“满意”的票数–“不满意”的票数。 第17讲 使用变量 第*页 共14页 * 注意此处并未涉及变量的显示问题,未报错已经表明使用正确。 键盘输入的内容 #!/bin/bash # Receive a file name echo -n Input a file name: read FileName # Add a formatted string of date to file date | cut -f6,2,3 -d | tr - $FileName # Add a formatted string of time to data.txt date | cut -f4 -d | cut -f1
您可能关注的文档
最近下载
- 2025年光伏电站设计与运维职业技能等级考试模拟试题集(含答案解析).docx VIP
- DB13(J)T 218-2016外墙保温装饰复合板应用技术规程(盒状金属装饰保温一体板).pdf
- 护理警示标识课件.pptx VIP
- EN1563-2011 球墨铸铁 中文版.pdf VIP
- 水泥罐施工方案方针.pdf VIP
- 六年级数学下册折扣与成数人教版.pptx VIP
- 跨文化交际:中英文化对比 (3).ppt VIP
- 2025年光伏运维人员职业技能竞赛考试练习题库(含各题型)含答案.pdf VIP
- “素养导向”初中历史大单元教学策略及案例 课件.pptx
- 云南劳技七年级上册家政教案.docx VIP
文档评论(0)