文档详情

Linux实验报告六.doc

发布:2016-06-26约1.5千字共6页下载文档
文本预览下载声明
西南科技大学计算机学院 实验报告 实 验 名 称: Shell 程序分析 实 验 地 点: 实 验 日 期: 指 导 教 师: 学 生 班 级: 学 生 姓 名: 学 生 学 号: 提 交 日 期:2012/11/10 2007 年8 月信息安全教研室制 实验目的 掌握 Shell 程序的语法和程序结构,以及修改、调试的方法。 实验题目 本次实验分成两个部分:一是分析所给出的Shell 程序段的程序结构;二是修改和运行所给出的Shell 程序,掌握Shell 程序查错、运行方法。通过本次实验,为下次实验——设计Shell 程序——打下基础。 实验设计 将提供的示例代码载入运行,查看结果并理解代码的指令意义 实验记录 程序代码(1) #!/bin/bash IS_someone=`who | grep $1` while [ -z $IS_someone ] do sleep 3 IS_someone=`who | grep $1` done echo watch it,$1 is online! | wall 程序流程图 假 真 程序代码(2) #!/bin/bash TDIR=${HOME:-}/.tmpdirs MYHOST=`hostname` STATEFUL=YES THIS_USER=`id -un` [ $TDIR = //.tmpdirs ] TDIR=/.tmpdirs [ ${HOME:-} = ] STATEFUL=NO [ \( ! -z ${TDIR} \) -a -f ${TDIR}/${MYHOST} -a ${STATEFUL} = YES ] w=1 if [ $w -eq 1 ]; then TRYDIR=`cat ${TDIR}/${MYHOST}` fi unset w if [ -z ${TRYDIR} ]; then TRYDIR=/tmp/${THIS_USER:-}-tmp.${RANDAM} (mkdir -m 0700 ${TRYDIR} mkdir -m 0700 ${TRYDIR}/files) 2/dev/null fi TMP=${TRYDIR} TMPDIR=${TRYDIR} export TMP export TMPDIR [ \( ! -z ${TDIR} \) -a \( -d ${TDIR} \) -a \( ! -z ${MYHOST} \) -a ${STATEFUL} = YES ] w=1 if [ $w -eq 1 ]; then echo ${TMPDIR} ${TDIR}/${MYHOST} fi unset w unset MYHOST unset TDIR unset THIS_USER unset STATEFUL 程序流程图 实验思考或体会 体会 本次试验主要考查了对shell编程的理解,以及对代码指令的认识,感觉已经很久看过代码了,有些吃力,但对我以后的学习很有帮助。 思考题 Shell 脚本中的程序段有错误,但该程序段在运行中没有被执行,问错误能否被表现出来? 不能,没被执行就不会被检错。 总结查错Shell 脚本的基本方法和过程。 Shell脚本编写后运行之后就会自动检测语法错误,并显示出第几行出错,之后可自行更改。 程序开始 登入用户名中是否有指定字符 继续查找,循环 显示设定的字符 程序结束
显示全部
相似文档