- 51
- 0
- 约3.04千字
- 约 7页
- 2017-05-12 发布于河南
- 举报
实验4 shell脚本的编写(一)
广东技术师范学院实验报告
学院: 计算机科学学院 专业: 软件工程 班级: 09软件 成绩: 姓名: 学号: 组别: 组员: 实验地点: 工业中心204 实验日期: 2011.9.22 指导教师签名: 预习情况 操作情况 考勤情况 数据处理情况
实验 4 项目名称: SHELL脚本的编写(一)
实验目的
通过对典型的SHELL脚本进行验证,以及编写具有一定实用程度的SHELL脚本SHELL脚本的编写。#!/bin/sh
echo hello world !!
然后按如下方式执行程序并得出相应结果:
# chmod +x hello
#./hello
hello world !!
关于shell脚本创建和运行的几点说明:
(1)在bash中,每一个脚本的开头,必须有:#! /bin/sh
(2)必须将脚本文件设置为可执行,即
# chmod +x myprogram
或者,使用如下方式执行shell脚本:
# . myprogram
(3)如果shell脚本所放置的目录并不在当前所查找的路径中,可把这个目录名添加到查找路径中,那么就可以命令的形式执行该脚本。系统默认的查找路径可通过如下命令获得并修改:
# echo $PATH
/usr/linux/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin
2.4 shell脚本的变量
如之前所述,shell脚本主要用在系统管理方面,shell脚本语言往往并不强调数学运算等功能,因此shell脚本的变量的类型和使用的形式比较单一。
变量的类型
shell中有三种变量:
环境变量:系统环境的一部分,通常不必去定义。个别如PATH变量可以修改。
内部变量:由系统提供,不可修改。
用户变量:在编写shell脚本时所定义的,可在脚本内修改和使用。
环境变量是指UNIX为用户配置系统而提供的一些基本变量。环境变量有许多,但一般来说如下一些环境变量比较常用:PATH(命令搜索路径)、ENV(启动脚本的路径名)、PS1(命令行提示符)、SHELL(当前系统使用的shell类型)、HOME(用户登录主目录)。用户可改动这些环境变量来实现定制系统环境的目的,最常见的有改动命令行提示符,以下是一个相关例子,同学们可在Linux系统下做这个实验。
#PS1=’$LOGNAME@$myhost $PWD \$ ’
内部变量是指shell的一些预定义变量,提供给用户在程序运行时做判断和使用。常用的内部变量有:$1-$9(脚本命令行参数)、$0(脚本名)、$#(命令行参数个数)、$?(上一个命令的返回值)、$*(所有命令行参数)、$$(脚本的进程号)等。请运行以下脚本例子,并将结果以截图形式附于例子后。
例子:内部变量$#、$0、$*,可对脚本改动,查看其他内部变量的值。
#!/bin/sh
#my test program
echo number of parameters is $#
echo program name is $0
echo parameters as a single string is $*
例子:内部变量的使用。注意在脚本运行时要分为两种情况:给定参数和不给定参数(为什么?)。
#!/bin/sh
#name display program
if [ $# -eq 0 ]
then
echo name not provided
else
echo your name is $1
fi
用户变量是指由用户在编写脚本时定义的变量。变量可定义为整型或字符串,也可设定常量以及构建数组。但由于脚本语言主要用来编写系统管理的程序。因此shell编程语言实际不需要定义变量类型而直接使用。同一个变量既可以用来存放整型值,也可以存放字符和字符串,也可以交替存放不同类型的数值。下面结合变量的赋值和访问来介绍用户变量的使用。
变量的赋值和访问
在shell中变量可直接使用而定义其类型。如:
count=0
myname=jack
filename=‘today backup’
注意变量赋值时“=”左右没有空格。变量使用在脚本编程中,可以直接在shell的命令行中输入,如果要对访问变量的值,则通过“$”标识,如果需要让其成为全局变量,可用export命令输出,则在其他脚本上可使用该变量。请运行以下脚本例子,并将结果以截图形式附于例子后。
例子:在命令行中定义一个变量,并将其输出为全局变量,然后在hello脚本中对其访问,注意如果变量xxx和yyy的值的差异。
#xxx=121
#yyy=212
您可能关注的文档
- 刘拥-13专升本-vc++应用开发进度表.doc
- 创建主控文档和子文档.doc
- 初3信息技术月考题(附答案).doc
- 初三图形旋转.doc
- 初三数学,用一元二次方程解决实际问题.doc
- 初三复习题纲2011.doc
- 初三第10讲.doc
- 初三第三节课《程序的分支结构及条件语句IF》.doc
- 初三物理期末考试试卷质量分析.doc
- 初三英语词汇 Microsoft Word 文档.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)