西南科技大学Linux实验名称:实验六 Linux环境的Shell程序设计
1. 实验记录
实验一
实验二
实验三
实验四
实验五
实验六
实验七
实验八
实验九
实验十
实验十一
实验十二
2. 思考题回答
1、Shell脚本中的程序段有错误,但该程序段在运行中没有被执行,问该错误能否被表现出来?
答:如果是语法错误,是会被检测出来的。如果是逻辑错误并且程序段不会被调用执行,是很难被发现的,除非调试人员手动调用该程序段调试。
2、总结Shell脚本查错的基本方法和过程。
答:
一:语法错误是会被提示出来的。
二:逻辑错误需要借助相关的工具调试发现,可以用bash -xv和set等。
基本操作流程 chmod +x 脚本,bash -x 脚本,观察分析解释后的程序,发现错误。
3. 实验体会
答:通过实验我学会了shell脚本执行的多种方式,有./脚本名 、. 脚本名、source 脚本名、bash < 脚本、bash 脚本名(注意:以上所有情况脚本位于当前工作目录中即在当前所处目录中),source 方式运行是直接运行命令,不创建子shell,而bash 方式会创建子shell,通常我们需要使程序中设置的变量在当前shell中生效用的是source方式。然后学会了shell的基本语法,shell是脚本语言,是不需要编译的,我们平时学习的C语言、C++是强类型语言,是需要编译的,shell的语法与C语言、C++语言有一些语言特点上的不同,循环语句在shell中有do done,而C语言、C++中没有,所以写习惯了C语言、C++语言再初次来写shell很容易犯语法上的错误。关于shell的debug,shell脚本语法上的错误很容易发现,然而逻辑上的错误需要借助相关程序调试,如bash 加上xv等参数,还有set也可以调试shell程序。同时在本次实验中发现echo会在输出的字符流后默认加上换行符。