[vip专享]Linux实验报告六
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西南科技大学计算机学院
实验报告
实验名称:Shell 程序分析实验地点:
实验日期:
指导教师:
学生班级:
学生姓名:
学生学号:
提交日期:2012/11/10
2007 年8 月信息安全教研室制一、实验目的
掌握Shell 程序的语法和程序结构,以及修改、调试的方法。
二、实验题目
本次实验分成两个部分:一是分析所给出的Shell 程序段的程序结构;二是修改和运行所给出的Shell 程序,掌握Shell 程序查错、运行方法。
通过本次实验,为下次实验——设计Shell 程序——打下基础。
三、实验设计
将提供的示例代码载入运行,查看结果并理解代码的指令
意义
四、实验记录
1.程序代码(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.程序流程图
3.程序代码(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
4.程序流程图
五、实验思考或体会
体会
本次试验主要考查了对shell编程的理解,以及对代码指令的认识,感觉已经很久看过代码了,有些吃力,但对我以后的学习很有帮助。
思考题
1、Shell 脚本中的程序段有错误,但该程序段在运行中没有
被执行,问错误能否被表现出来?
不能,没被执行就不会被检错。
2、总结查错Shell 脚本的基本方法和过程。
Shell脚本编写后运行之后就会自动检测语法错误,并显示出第几行出错,之后可自行更改。