一、实验要求
Shell程序设计中变量的使用;理解通道的概念并初步掌握它的使用方法;掌握算术操作、字符串操作、逻辑操作、文件操作;掌握if then fi、if then elif fi、case、while、for等控制语句;在shell脚本中使用函数。
二、实验内容
(1)本地变量
var1="hello Linux" //定义本地变量var1
read var2 //定义本地变量vae2
echo $var1 $var2 //显示本地变量的值
(2)环境变量
env //显示系统的环境变量
echo $PATH //显示搜索路径变量PATH
MYNAME="zhangs" //定义本地变量MYNAME
export MYNAME //将本地变量MYNAME输出为环境变量
下面观察环境变量与本地变量作用范围的区别
echo $var1 $MYNAME //显示本地变量和环境变量
bash //创建子进程bash
echo $var1 $MYNAME //显示本地变量和环境变量
exit //退出子进程bash
echo $var1 $MYNAME
(3)位置变量
使用编辑器 vi 编辑下列 shell 脚本
#!/bin/bash
echo $0 $1 $2 $3
将上述两行脚本保存为文件 locat.sh
$ chmod +x locat.sh //增加执行权限
$ ./locat.sh you me he
观察显示结果,理解定义。
(4)调试下列shell程序,写出变量$#,$0,$1,$2,$3, $@的含义。
#! /bin/bash
echo “程序名:$0”
echo “所有参数: $@”
echo “前三个参数:$1 $2 $3”
echo“共几个参数:$#”
shift
echo “程序名:$0”
echo “所有参数: $@”
echo “前三个参数:$1 $2 $3”
echo“共几个参数:$#”
shift 3
echo “程序名:$0”
echo “所有参数: $@”
echo “前三个参数:$1 $2 $3”
echo“共几个参数:$#”
exit 0
![在这里插入图片描述](https://img-blog.csdnimg.cn/690fd125ff584f1d8fb72a21a1025df2.png)
$#表示总共有几个参数,$0表示脚本名,$1,$2,$3传递三个位置变量的参数, $@列出所有的参数。shift即shift1表示对参数左移,第一次移动$2变为了$1,所以显示只显示了前两个值22和33。
(5)反引号、单引号和双引号
abc="pwd" //没有空格
echo '$abc' //只显示单引号内的字符串,abc
echo "$abc" //显示变量的值,pwd
echo `"$abc"` //"和`的综合使用,/root
echo "`pwd`" //为"内的`作出解释,/root
echo *
echo "*" //屏蔽元字符的特定含义,*
echo ‘*’ //观察显示结果,*
echo \* //观察显示结果,*
(6)用while循环求1到100的和。
- 用gedit编辑脚本程序test12
- 用for语句完成以上求和。
三、总结
通过本次实验熟练掌握了虚拟机的使用和linux的一些基础命令;了解了Shell程序设计中变量的使用;以及算术操作、字符串操作、逻辑操作、文件操作;练习了while、for等控制语句。
这是我第一次接触linux,应该说目前我们对于linux的学习只是入门而已,学习linux是一个长期的过程,想要学好就一定要坚持使用它,所有内容都要通过实践来实现,只要多动手就一定会有收获。遇到问题时要自己去寻找答案,在寻找答案的过程中,会学到更多知识。