教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

Red hat Linux 实验简易教程 - 1.1 - 图文(7)

来源:网络收集 时间:2026-04-27
导读: $bashcmd cmd.sh [验证bashcmd 是否已经起作用] $unalias bashcmd [取消bashcmd 别名] $bashcmd cmd.sh [验证bashcmd 是否已经取消] 5. 分析下列shell 脚本的功能: 运行如下: $bash chapter4_8.sh a b c d 结果

$bashcmd cmd.sh [验证bashcmd 是否已经起作用] $unalias bashcmd [取消bashcmd 别名]

$bashcmd cmd.sh [验证bashcmd 是否已经取消] 5. 分析下列shell 脚本的功能:

运行如下:

$bash chapter4_8.sh a b c d 结果如下:

d c b a chapter4_8.sh 运行如下:

$bash –x chapter4_8.sh a b c d [-x 是为了单补跟踪脚本] 结果如下:

- 26 -

说明:第一行是说使用bash 编译环境。第二行是说将参数的个数赋给变量count 。第三

是说使用cmd 变量代替内置命令echo ,就是说cmd 具有内置命令echo的功能。 四行是做了一个while循环当条件为真是进入循环体,即第五行到第八行之间的代码。 第六行是将获得的结果用cmd 存起来。第七行是count 自减一。第九行是先将$cmd 扩展成要执行的命令,然后再执行。

6.编写一个脚本,求斐波纳奇数列的前十项及总和。 脚本程序如下:

7. 设计一个程序cuts ,它的标准输入读取数据,获取由第一个参数n 和第二个参数m 所

限定范围的数据,n 和 m 都是整数,即从输入的字符串中抽取第n 个字符至第m 个字符之间的所有字符(包括这两个字符)。 示例程序如下所示:

8. 脚本定义了两个函数:getc() 和 press_any_key() 。

脚本代码如下所示:

- 27 -

运行 $bash 4_8.sh 结果如下所示:

如果我们第六行注销掉再运行 $bash 4_8.sh 结果如下所示:

这个差别很明确就是第二行没有显示‘A’呀!可是为什么呢?下面我们将但不跟踪脚本的运行,原因就一目了然了。 运行 $bash –x 4_8.sh 运行完结果如下所示: [原来的脚本]

- 28 -

注销掉第六行再运行 $bash –x 4_8.sh 运行完结果如下所示:

从两次运行的步骤就可看出差别,接着我将就为什么会出现这种情况作出解释,即第六行中eval 的作用。内置命令eval 强制shell 对该行进行两次扫描:一次将$1 扩展到变量名中,接着执行替换后的命令。

- 29 -

Red hat Linux 实验简易教程 - 1.1 - 图文(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/520866.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)